@ontologie/cli 0.1.0-preview.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 +492 -0
- package/dist/cache/keys.d.ts +11 -0
- package/dist/cache/keys.d.ts.map +1 -0
- package/dist/cache/keys.js +14 -0
- package/dist/cache/keys.js.map +1 -0
- package/dist/cache/store.d.ts +23 -0
- package/dist/cache/store.d.ts.map +1 -0
- package/dist/cache/store.js +160 -0
- package/dist/cache/store.js.map +1 -0
- package/dist/cli-compat.d.ts +6 -0
- package/dist/cli-compat.d.ts.map +1 -0
- package/dist/cli-compat.js +11 -0
- package/dist/cli-compat.js.map +1 -0
- package/dist/cli.d.ts +30 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +119 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +7 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +15 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/actions.d.ts +22 -0
- package/dist/commands/actions.d.ts.map +1 -0
- package/dist/commands/actions.js +211 -0
- package/dist/commands/actions.js.map +1 -0
- package/dist/commands/agent-files.d.ts +27 -0
- package/dist/commands/agent-files.d.ts.map +1 -0
- package/dist/commands/agent-files.js +167 -0
- package/dist/commands/agent-files.js.map +1 -0
- package/dist/commands/agent.d.ts +23 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +314 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/audit.d.ts +11 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +94 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/cache.d.ts +8 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +40 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/capabilities.d.ts +56 -0
- package/dist/commands/capabilities.d.ts.map +1 -0
- package/dist/commands/capabilities.js +304 -0
- package/dist/commands/capabilities.js.map +1 -0
- package/dist/commands/check.d.ts +7 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +16 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/config.d.ts +6 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +133 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/context.d.ts +6 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +226 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/dev.d.ts +15 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +62 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/docs-alias.d.ts +14 -0
- package/dist/commands/docs-alias.d.ts.map +1 -0
- package/dist/commands/docs-alias.js +28 -0
- package/dist/commands/docs-alias.js.map +1 -0
- package/dist/commands/docs.d.ts +6 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +67 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/doctor.d.ts +6 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +161 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/generate.d.ts +7 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +36 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/graph.d.ts +9 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +149 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/import.d.ts +19 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +330 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/index.d.ts +80 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +345 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +101 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/instances.d.ts +7 -0
- package/dist/commands/instances.d.ts.map +1 -0
- package/dist/commands/instances.js +418 -0
- package/dist/commands/instances.js.map +1 -0
- package/dist/commands/keys.d.ts +6 -0
- package/dist/commands/keys.d.ts.map +1 -0
- package/dist/commands/keys.js +113 -0
- package/dist/commands/keys.js.map +1 -0
- package/dist/commands/knowledge.d.ts +6 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +76 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/model.d.ts +3 -0
- package/dist/commands/model.d.ts.map +1 -0
- package/dist/commands/model.js +40 -0
- package/dist/commands/model.js.map +1 -0
- package/dist/commands/nodes.d.ts +6 -0
- package/dist/commands/nodes.d.ts.map +1 -0
- package/dist/commands/nodes.js +111 -0
- package/dist/commands/nodes.js.map +1 -0
- package/dist/commands/openapi.d.ts +7 -0
- package/dist/commands/openapi.d.ts.map +1 -0
- package/dist/commands/openapi.js +17 -0
- package/dist/commands/openapi.js.map +1 -0
- package/dist/commands/plan.d.ts +19 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +563 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/process.d.ts +3 -0
- package/dist/commands/process.d.ts.map +1 -0
- package/dist/commands/process.js +67 -0
- package/dist/commands/process.js.map +1 -0
- package/dist/commands/query.d.ts +26 -0
- package/dist/commands/query.d.ts.map +1 -0
- package/dist/commands/query.js +253 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/schema.d.ts +24 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +933 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/search.d.ts +10 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +74 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/shared.d.ts +32 -0
- package/dist/commands/shared.d.ts.map +1 -0
- package/dist/commands/shared.js +63 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/usage.d.ts +6 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +86 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/validators.d.ts +30 -0
- package/dist/commands/validators.d.ts.map +1 -0
- package/dist/commands/validators.js +93 -0
- package/dist/commands/validators.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +48 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config.d.ts +47 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +127 -0
- package/dist/config.js.map +1 -0
- package/dist/credentials.d.ts +9 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +79 -0
- package/dist/credentials.js.map +1 -0
- package/dist/keychain.d.ts +9 -0
- package/dist/keychain.d.ts.map +1 -0
- package/dist/keychain.js +51 -0
- package/dist/keychain.js.map +1 -0
- package/dist/output/csv.d.ts +5 -0
- package/dist/output/csv.d.ts.map +1 -0
- package/dist/output/csv.js +22 -0
- package/dist/output/csv.js.map +1 -0
- package/dist/output/envelope.schema.d.ts +1053 -0
- package/dist/output/envelope.schema.d.ts.map +1 -0
- package/dist/output/envelope.schema.js +256 -0
- package/dist/output/envelope.schema.js.map +1 -0
- package/dist/output/errors.d.ts +58 -0
- package/dist/output/errors.d.ts.map +1 -0
- package/dist/output/errors.js +339 -0
- package/dist/output/errors.js.map +1 -0
- package/dist/output/formatter.d.ts +27 -0
- package/dist/output/formatter.d.ts.map +1 -0
- package/dist/output/formatter.js +80 -0
- package/dist/output/formatter.js.map +1 -0
- package/dist/output/json.d.ts +41 -0
- package/dist/output/json.d.ts.map +1 -0
- package/dist/output/json.js +215 -0
- package/dist/output/json.js.map +1 -0
- package/dist/output/markdown.d.ts +6 -0
- package/dist/output/markdown.d.ts.map +1 -0
- package/dist/output/markdown.js +51 -0
- package/dist/output/markdown.js.map +1 -0
- package/dist/output/meta.d.ts +49 -0
- package/dist/output/meta.d.ts.map +1 -0
- package/dist/output/meta.js +96 -0
- package/dist/output/meta.js.map +1 -0
- package/dist/output/plain.d.ts +6 -0
- package/dist/output/plain.d.ts.map +1 -0
- package/dist/output/plain.js +51 -0
- package/dist/output/plain.js.map +1 -0
- package/dist/output/table.d.ts +5 -0
- package/dist/output/table.d.ts.map +1 -0
- package/dist/output/table.js +54 -0
- package/dist/output/table.js.map +1 -0
- package/dist/output/types.d.ts +54 -0
- package/dist/output/types.d.ts.map +1 -0
- package/dist/output/types.js +80 -0
- package/dist/output/types.js.map +1 -0
- package/dist/output/warnings.d.ts +15 -0
- package/dist/output/warnings.d.ts.map +1 -0
- package/dist/output/warnings.js +46 -0
- package/dist/output/warnings.js.map +1 -0
- package/dist/output/yaml.d.ts +6 -0
- package/dist/output/yaml.d.ts.map +1 -0
- package/dist/output/yaml.js +9 -0
- package/dist/output/yaml.js.map +1 -0
- package/dist/schema/breaking-changes.d.ts +17 -0
- package/dist/schema/breaking-changes.d.ts.map +1 -0
- package/dist/schema/breaking-changes.js +108 -0
- package/dist/schema/breaking-changes.js.map +1 -0
- package/dist/schema/helpers.d.ts +18 -0
- package/dist/schema/helpers.d.ts.map +1 -0
- package/dist/schema/helpers.js +48 -0
- package/dist/schema/helpers.js.map +1 -0
- package/dist/schema/load-schema-file.d.ts +13 -0
- package/dist/schema/load-schema-file.d.ts.map +1 -0
- package/dist/schema/load-schema-file.js +88 -0
- package/dist/schema/load-schema-file.js.map +1 -0
- package/dist/schema/lockfile.d.ts +6 -0
- package/dist/schema/lockfile.d.ts.map +1 -0
- package/dist/schema/lockfile.js +34 -0
- package/dist/schema/lockfile.js.map +1 -0
- package/dist/schema/manifest-client.d.ts +31 -0
- package/dist/schema/manifest-client.d.ts.map +1 -0
- package/dist/schema/manifest-client.js +282 -0
- package/dist/schema/manifest-client.js.map +1 -0
- package/dist/schema/output.d.ts +38 -0
- package/dist/schema/output.d.ts.map +1 -0
- package/dist/schema/output.js +95 -0
- package/dist/schema/output.js.map +1 -0
- package/dist/stdin.d.ts +8 -0
- package/dist/stdin.d.ts.map +1 -0
- package/dist/stdin.js +21 -0
- package/dist/stdin.js.map +1 -0
- package/dist/templates/basic.d.ts +6 -0
- package/dist/templates/basic.d.ts.map +1 -0
- package/dist/templates/basic.js +90 -0
- package/dist/templates/basic.js.map +1 -0
- package/dist/templates/contract-review.d.ts +9 -0
- package/dist/templates/contract-review.d.ts.map +1 -0
- package/dist/templates/contract-review.js +172 -0
- package/dist/templates/contract-review.js.map +1 -0
- package/dist/templates/customer-onboarding.d.ts +9 -0
- package/dist/templates/customer-onboarding.d.ts.map +1 -0
- package/dist/templates/customer-onboarding.js +176 -0
- package/dist/templates/customer-onboarding.js.map +1 -0
- package/dist/templates/index.d.ts +11 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +16 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/react-dashboard.d.ts +6 -0
- package/dist/templates/react-dashboard.d.ts.map +1 -0
- package/dist/templates/react-dashboard.js +146 -0
- package/dist/templates/react-dashboard.js.map +1 -0
- package/dist/templates/vendor-risk.d.ts +9 -0
- package/dist/templates/vendor-risk.d.ts.map +1 -0
- package/dist/templates/vendor-risk.js +186 -0
- package/dist/templates/vendor-risk.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical CLI commands registry — single source of truth.
|
|
3
|
+
*
|
|
4
|
+
* Every command registered on the `dataforge` Commander program lives in this
|
|
5
|
+
* array. Consumers:
|
|
6
|
+
* - `sdk/packages/cli/src/cli.ts` iterates this list to call `registerFn`.
|
|
7
|
+
* - `tests/structural/sdk-cli-parity.test.ts` ratchet diffs this list
|
|
8
|
+
* against the tests in `sdk/tests/verify/` and the contract docs
|
|
9
|
+
* (`CLI-CONFORM-01`). The SDK-path ↔ backend-mount diff
|
|
10
|
+
* (`SDK-PARITY-02`) is `it.todo()` until AST or runtime probe lands —
|
|
11
|
+
* see #990 / #992 review notes.
|
|
12
|
+
* - Future doc generators / shell completions read it instead of duplicating
|
|
13
|
+
* the command list.
|
|
14
|
+
*
|
|
15
|
+
* Stability tiers map to `sdk/docs/SDK-PUBLIC-STRATEGY.md`:
|
|
16
|
+
* - `stable` — committed surface, SemVer + 12-month deprecation window
|
|
17
|
+
* - `preview` — best-effort, may change in minor versions
|
|
18
|
+
* - `internal` — hidden from `--help`, not part of the public contract
|
|
19
|
+
*
|
|
20
|
+
* **Rule** (no double SOT): if a command is added or removed, this array is the
|
|
21
|
+
* authoritative location. Do not register commands directly in `cli.ts`.
|
|
22
|
+
*/
|
|
23
|
+
import { registerCache } from './cache.js';
|
|
24
|
+
import { registerCheck } from './check.js';
|
|
25
|
+
import { registerConfig } from './config.js';
|
|
26
|
+
import { registerContext } from './context.js';
|
|
27
|
+
import { registerDocsAlias } from './docs-alias.js';
|
|
28
|
+
import { registerDoctor } from './doctor.js';
|
|
29
|
+
import { registerDev } from './dev.js';
|
|
30
|
+
import { registerGenerate } from './generate.js';
|
|
31
|
+
import { registerGraph } from './graph.js';
|
|
32
|
+
import { registerInit } from './init.js';
|
|
33
|
+
import { registerKnowledge } from './knowledge.js';
|
|
34
|
+
import { registerNodes } from './nodes.js';
|
|
35
|
+
import { registerOpenapi } from './openapi.js';
|
|
36
|
+
import { registerProcess } from './process.js';
|
|
37
|
+
import { registerSchema } from './schema.js';
|
|
38
|
+
import { registerWhoami } from './whoami.js';
|
|
39
|
+
import { registerAudit } from './audit.js';
|
|
40
|
+
import { registerActions } from './actions.js';
|
|
41
|
+
import { registerPlan } from './plan.js';
|
|
42
|
+
import { registerCapabilities } from './capabilities.js';
|
|
43
|
+
import { registerQuery } from './query.js';
|
|
44
|
+
import { registerInstances } from './instances.js';
|
|
45
|
+
import { registerImport } from './import.js';
|
|
46
|
+
import { registerUsage } from './usage.js';
|
|
47
|
+
import { registerKeys } from './keys.js';
|
|
48
|
+
import { registerSearch } from './search.js';
|
|
49
|
+
import { registerAgent } from './agent.js';
|
|
50
|
+
import { registerModel } from './model.js';
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// Canonical registry
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
/**
|
|
55
|
+
* Every command registered on the `dataforge` program. Counts are pinned in
|
|
56
|
+
* `tests/structural/sdk-cli-parity.test.ts` (`CLI-CONFORM-01`) so any
|
|
57
|
+
* add/remove/tier-change forces an intentional update on both sides.
|
|
58
|
+
* Order matches the original `cli.ts` to preserve `--help` output stability.
|
|
59
|
+
*/
|
|
60
|
+
export const CANONICAL_CLI_COMMANDS = [
|
|
61
|
+
// -- ontology context (from original ontologie CLI) --
|
|
62
|
+
{
|
|
63
|
+
name: 'whoami',
|
|
64
|
+
subcommands: [],
|
|
65
|
+
source: './whoami',
|
|
66
|
+
stability: 'stable',
|
|
67
|
+
description: 'Show connection info, identity, and health',
|
|
68
|
+
registerFn: registerWhoami,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'nodes',
|
|
72
|
+
subcommands: ['list', 'get', 'search'],
|
|
73
|
+
source: './nodes',
|
|
74
|
+
stability: 'stable',
|
|
75
|
+
description: 'Browse and search ontology nodes',
|
|
76
|
+
registerFn: registerNodes,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'knowledge',
|
|
80
|
+
subcommands: ['search', 'get', 'list'],
|
|
81
|
+
source: './knowledge',
|
|
82
|
+
stability: 'stable',
|
|
83
|
+
description: 'Knowledge base search and retrieval',
|
|
84
|
+
registerFn: registerKnowledge,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'graph',
|
|
88
|
+
subcommands: ['traverse', 'neighbors', 'path'],
|
|
89
|
+
source: './graph',
|
|
90
|
+
stability: 'stable',
|
|
91
|
+
description: 'Graph traversal and shortest-path queries',
|
|
92
|
+
registerFn: registerGraph,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'schema',
|
|
96
|
+
subcommands: ['export', 'describe', 'search', 'diff', 'push', 'pull', 'check'],
|
|
97
|
+
source: './schema',
|
|
98
|
+
stability: 'stable',
|
|
99
|
+
description: 'Ontology schema authoring, diff, and drift check',
|
|
100
|
+
registerFn: registerSchema,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'context',
|
|
104
|
+
subcommands: ['pack'],
|
|
105
|
+
source: './context',
|
|
106
|
+
stability: 'stable',
|
|
107
|
+
description: 'LLM-ready context assembly',
|
|
108
|
+
registerFn: registerContext,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'process',
|
|
112
|
+
subcommands: ['lint', 'test'],
|
|
113
|
+
source: './process',
|
|
114
|
+
stability: 'preview',
|
|
115
|
+
description: 'Model assurance linting and deterministic process tests',
|
|
116
|
+
registerFn: registerProcess,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'cache',
|
|
120
|
+
subcommands: ['clear', 'stats'],
|
|
121
|
+
source: './cache',
|
|
122
|
+
stability: 'internal',
|
|
123
|
+
description: 'Local cache inspection and clearing',
|
|
124
|
+
registerFn: registerCache,
|
|
125
|
+
registerOptions: { hidden: true },
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'config',
|
|
129
|
+
subcommands: [
|
|
130
|
+
'set',
|
|
131
|
+
'get',
|
|
132
|
+
'list',
|
|
133
|
+
'migrate',
|
|
134
|
+
],
|
|
135
|
+
source: './config',
|
|
136
|
+
stability: 'stable',
|
|
137
|
+
description: 'Manage local CLI configuration profiles',
|
|
138
|
+
registerFn: registerConfig,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: 'doctor',
|
|
142
|
+
subcommands: [],
|
|
143
|
+
source: './doctor',
|
|
144
|
+
stability: 'stable',
|
|
145
|
+
description: 'Diagnostics for environment, credentials, and connectivity',
|
|
146
|
+
registerFn: registerDoctor,
|
|
147
|
+
},
|
|
148
|
+
// -- SDK generator commands (from @dataforge/sdk-generator, unified in 3.4.0) --
|
|
149
|
+
{
|
|
150
|
+
name: 'generate',
|
|
151
|
+
subcommands: [],
|
|
152
|
+
source: './generate',
|
|
153
|
+
stability: 'stable',
|
|
154
|
+
description: 'Generate typed SDK code from the remote ontology manifest',
|
|
155
|
+
registerFn: registerGenerate,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name: 'check',
|
|
159
|
+
subcommands: [],
|
|
160
|
+
source: './check',
|
|
161
|
+
stability: 'stable',
|
|
162
|
+
description: 'Verify generated code is in sync with remote (drift gate)',
|
|
163
|
+
registerFn: registerCheck,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'openapi',
|
|
167
|
+
subcommands: [],
|
|
168
|
+
source: './openapi',
|
|
169
|
+
stability: 'preview',
|
|
170
|
+
description: 'Emit an OpenAPI 3 document for the remote ontology',
|
|
171
|
+
registerFn: registerOpenapi,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: 'init',
|
|
175
|
+
subcommands: [],
|
|
176
|
+
source: './init',
|
|
177
|
+
stability: 'stable',
|
|
178
|
+
description: 'Scaffold a new dataforge project',
|
|
179
|
+
registerFn: registerInit,
|
|
180
|
+
},
|
|
181
|
+
// -- audit (preview) --
|
|
182
|
+
{
|
|
183
|
+
name: 'audit',
|
|
184
|
+
subcommands: ['list', 'export', 'history'],
|
|
185
|
+
source: './audit',
|
|
186
|
+
stability: 'preview',
|
|
187
|
+
description: 'Query and export audit events',
|
|
188
|
+
registerFn: registerAudit,
|
|
189
|
+
},
|
|
190
|
+
// -- actions + plan (stable V1 — ROADMAP §24) --
|
|
191
|
+
{
|
|
192
|
+
name: 'actions',
|
|
193
|
+
subcommands: ['list', 'describe', 'run'],
|
|
194
|
+
source: './actions',
|
|
195
|
+
stability: 'stable',
|
|
196
|
+
description: 'List, describe, and execute ontology actions',
|
|
197
|
+
registerFn: registerActions,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
name: 'plan',
|
|
201
|
+
subcommands: [
|
|
202
|
+
'list',
|
|
203
|
+
'inspect',
|
|
204
|
+
'verify',
|
|
205
|
+
'proof',
|
|
206
|
+
'revoke',
|
|
207
|
+
'handoff',
|
|
208
|
+
'handoff-status',
|
|
209
|
+
'route',
|
|
210
|
+
'route-status',
|
|
211
|
+
'export',
|
|
212
|
+
],
|
|
213
|
+
source: './plan',
|
|
214
|
+
stability: 'stable',
|
|
215
|
+
description: 'Plan artifact operations (inspect, verify, revoke, list)',
|
|
216
|
+
registerFn: registerPlan,
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
name: 'dev',
|
|
220
|
+
subcommands: [],
|
|
221
|
+
source: './dev',
|
|
222
|
+
stability: 'stable',
|
|
223
|
+
description: 'Start a local DataForge mock API server',
|
|
224
|
+
registerFn: registerDev,
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
name: 'capabilities',
|
|
228
|
+
subcommands: ['export', 'diff', 'validate'],
|
|
229
|
+
source: './capabilities',
|
|
230
|
+
stability: 'stable',
|
|
231
|
+
description: 'Capabilities manifest export and validation',
|
|
232
|
+
registerFn: registerCapabilities,
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: 'model',
|
|
236
|
+
subcommands: ['change-plan'],
|
|
237
|
+
source: './model',
|
|
238
|
+
stability: 'preview',
|
|
239
|
+
description: 'Model assurance change planning',
|
|
240
|
+
registerFn: registerModel,
|
|
241
|
+
},
|
|
242
|
+
// -- V1 external developer commands --
|
|
243
|
+
{
|
|
244
|
+
name: 'query',
|
|
245
|
+
subcommands: [],
|
|
246
|
+
source: './query',
|
|
247
|
+
stability: 'stable',
|
|
248
|
+
description: 'Query ObjectSet instances by type',
|
|
249
|
+
registerFn: registerQuery,
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: 'instance',
|
|
253
|
+
subcommands: ['list', 'get', 'create', 'update', 'delete'],
|
|
254
|
+
source: './instances',
|
|
255
|
+
stability: 'stable',
|
|
256
|
+
description: 'Object instance operations (Digital Twin)',
|
|
257
|
+
registerFn: registerInstances,
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
name: 'import',
|
|
261
|
+
subcommands: [],
|
|
262
|
+
source: './import',
|
|
263
|
+
stability: 'stable',
|
|
264
|
+
description: 'Import data from CSV/JSON/JSONL into ObjectType instances',
|
|
265
|
+
registerFn: registerImport,
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
name: 'usage',
|
|
269
|
+
subcommands: ['me', 'forecast'],
|
|
270
|
+
source: './usage',
|
|
271
|
+
stability: 'stable',
|
|
272
|
+
description: 'Usage and quota operations',
|
|
273
|
+
registerFn: registerUsage,
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
name: 'keys',
|
|
277
|
+
subcommands: ['list', 'create', 'revoke'],
|
|
278
|
+
source: './keys',
|
|
279
|
+
stability: 'stable',
|
|
280
|
+
description: 'API key management',
|
|
281
|
+
registerFn: registerKeys,
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
name: 'search',
|
|
285
|
+
subcommands: [],
|
|
286
|
+
source: './search',
|
|
287
|
+
stability: 'stable',
|
|
288
|
+
description: 'Search entities across the ontology',
|
|
289
|
+
registerFn: registerSearch,
|
|
290
|
+
},
|
|
291
|
+
// -- agent-ready workspace (ROADMAP §26) --
|
|
292
|
+
{
|
|
293
|
+
name: 'agent',
|
|
294
|
+
subcommands: ['init', 'doctor'],
|
|
295
|
+
source: './agent',
|
|
296
|
+
stability: 'stable',
|
|
297
|
+
description: 'Agent configuration: generate agent files and verify readiness',
|
|
298
|
+
registerFn: registerAgent,
|
|
299
|
+
},
|
|
300
|
+
// -- legacy / hidden aliases --
|
|
301
|
+
{
|
|
302
|
+
name: 'docs',
|
|
303
|
+
subcommands: ['search'],
|
|
304
|
+
source: './docs-alias',
|
|
305
|
+
stability: 'internal',
|
|
306
|
+
description: 'Deprecated alias — use `knowledge` instead',
|
|
307
|
+
registerFn: registerDocsAlias,
|
|
308
|
+
registerOptions: { hidden: true },
|
|
309
|
+
},
|
|
310
|
+
];
|
|
311
|
+
// ---------------------------------------------------------------------------
|
|
312
|
+
// Public API
|
|
313
|
+
// ---------------------------------------------------------------------------
|
|
314
|
+
/**
|
|
315
|
+
* Returns the immutable registry of canonical CLI commands.
|
|
316
|
+
*
|
|
317
|
+
* Exposed as a function (rather than re-exporting the `const`) so callers can
|
|
318
|
+
* mock it in tests or wrap it with extra logic without circular imports.
|
|
319
|
+
*/
|
|
320
|
+
export function getCanonicalCliCommands() {
|
|
321
|
+
return CANONICAL_CLI_COMMANDS;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Convenience helper used by `cli.ts` to wire every command in one pass.
|
|
325
|
+
* Honors `registerOptions` so commands like `cache` keep their `hidden:true`.
|
|
326
|
+
*
|
|
327
|
+
* `program` is intentionally typed as `any` — Commander ships two
|
|
328
|
+
* incompatible-looking exports (`Command` and `CommanderStatic.Command`) that
|
|
329
|
+
* TypeScript narrows differently depending on the call site, causing a
|
|
330
|
+
* spurious mismatch. The runtime is unaffected.
|
|
331
|
+
*/
|
|
332
|
+
export function registerAllCommands(program) {
|
|
333
|
+
if (!program._storeOptionsAsPropertiesCalled) {
|
|
334
|
+
program.storeOptionsAsProperties(false);
|
|
335
|
+
}
|
|
336
|
+
for (const cmd of CANONICAL_CLI_COMMANDS) {
|
|
337
|
+
if (cmd.registerOptions) {
|
|
338
|
+
cmd.registerFn(program, cmd.registerOptions);
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
cmd.registerFn(program);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgGnD"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { TEMPLATES } from '../templates/index.js';
|
|
4
|
+
import { getExitCode } from '../output/errors.js';
|
|
5
|
+
import { writeAgentFiles } from './agent-files.js';
|
|
6
|
+
import { runSyncDoctorChecks } from './agent.js';
|
|
7
|
+
export function registerInit(program) {
|
|
8
|
+
program
|
|
9
|
+
.command('init [directory]')
|
|
10
|
+
.description('Scaffold a new DataForge project')
|
|
11
|
+
.option('--template <name>', `Project template: ${Object.keys(TEMPLATES).join(' | ')}`, 'basic')
|
|
12
|
+
.option('--target <agent>', 'Agent target: codex | claude | all (generates AGENTS.md / CLAUDE.md)')
|
|
13
|
+
.option('--agent-ready', 'Generate full agent configuration (AGENTS.md, CLAUDE.md, skills, .codex)')
|
|
14
|
+
.option('--force', 'Overwrite existing files', false)
|
|
15
|
+
.action((directory, opts) => {
|
|
16
|
+
const template = TEMPLATES[opts.template];
|
|
17
|
+
if (!template) {
|
|
18
|
+
console.error(`Unknown template: ${opts.template}. Available: ${Object.keys(TEMPLATES).join(', ')}`);
|
|
19
|
+
// INVALID_USAGE (exit 2) — user passed a bad --template option.
|
|
20
|
+
// Exit value changes from 1 → 2 vs pre-refactor; semantic gain for
|
|
21
|
+
// agents reading exit codes (server-failure vs bad-arg distinction).
|
|
22
|
+
process.exit(getExitCode('INVALID_USAGE'));
|
|
23
|
+
}
|
|
24
|
+
const targetDir = path.resolve(directory ?? '.');
|
|
25
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
26
|
+
// Write template files
|
|
27
|
+
for (const [filePath, content] of Object.entries(template.files)) {
|
|
28
|
+
const fullPath = path.join(targetDir, filePath);
|
|
29
|
+
const dir = path.dirname(fullPath);
|
|
30
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
31
|
+
if (fs.existsSync(fullPath) && !opts.force) {
|
|
32
|
+
console.log(` skip ${filePath} (exists)`);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
fs.writeFileSync(fullPath, content, 'utf-8');
|
|
36
|
+
console.log(` create ${filePath}`);
|
|
37
|
+
}
|
|
38
|
+
// Generate agent files
|
|
39
|
+
if (opts.agentReady) {
|
|
40
|
+
// --agent-ready: full agent file set
|
|
41
|
+
const results = writeAgentFiles(targetDir, 'all', { force: opts.force });
|
|
42
|
+
for (const r of results) {
|
|
43
|
+
console.log(` ${r.created ? 'create' : 'skip '} ${r.path}${r.skipped ? ' (exists)' : ''}`);
|
|
44
|
+
}
|
|
45
|
+
// Create empty directories for agent workflow
|
|
46
|
+
const emptyDirs = ['dataforge.generated', '.dataforge/examples', '.dataforge/plans', '.dataforge/evals'];
|
|
47
|
+
for (const dir of emptyDirs) {
|
|
48
|
+
const fullPath = path.join(targetDir, dir);
|
|
49
|
+
if (!fs.existsSync(fullPath)) {
|
|
50
|
+
fs.mkdirSync(fullPath, { recursive: true });
|
|
51
|
+
console.log(` create ${dir}/`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else if (opts.target) {
|
|
56
|
+
// Legacy --target flag: limited agent docs
|
|
57
|
+
const target = opts.target === 'all' ? 'all'
|
|
58
|
+
: opts.target === 'codex' ? 'codex'
|
|
59
|
+
: 'claude';
|
|
60
|
+
const results = writeAgentFiles(targetDir, target, { force: opts.force });
|
|
61
|
+
for (const r of results) {
|
|
62
|
+
console.log(` ${r.created ? 'create' : 'skip '} ${r.path}${r.skipped ? ' (exists)' : ''}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
console.log(`\nProject scaffolded in ${path.relative(process.cwd(), targetDir) || '.'}`);
|
|
66
|
+
console.log('\nNext steps:');
|
|
67
|
+
console.log(' 1. cp .env.example .env && edit .env');
|
|
68
|
+
console.log(' 2. npm install');
|
|
69
|
+
console.log(' 3. Edit dataforge.schema.ts to define your ontology');
|
|
70
|
+
console.log(' 4. dataforge schema push --yes');
|
|
71
|
+
if (template.hasSeed) {
|
|
72
|
+
console.log(' 5. dataforge import --file dataforge.seed.jsonl --format jsonl');
|
|
73
|
+
console.log(' 6. npm start');
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
console.log(' 5. npm start');
|
|
77
|
+
}
|
|
78
|
+
if (opts.agentReady) {
|
|
79
|
+
console.log('\nAgent doctor:');
|
|
80
|
+
try {
|
|
81
|
+
const checks = runSyncDoctorChecks(targetDir);
|
|
82
|
+
for (const c of checks) {
|
|
83
|
+
const icon = c.status === 'ok' ? 'OK' : c.status === 'warn' ? 'WARN' : 'ERROR';
|
|
84
|
+
console.log(` [${icon}] ${c.name}: ${c.message}`);
|
|
85
|
+
if (c.detail)
|
|
86
|
+
console.log(` ${c.detail}`);
|
|
87
|
+
}
|
|
88
|
+
const errors = checks.filter(c => c.status === 'error').length;
|
|
89
|
+
const warns = checks.filter(c => c.status === 'warn').length;
|
|
90
|
+
console.log(`\n ${checks.length} checks: ${checks.length - errors - warns} ok, ${warns} warnings, ${errors} errors`);
|
|
91
|
+
if (errors > 0) {
|
|
92
|
+
console.log(' Full check: dataforge agent doctor --format json');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
console.log(' dataforge agent doctor --format json');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ontologie instance -- list, get, create, update, delete object instances
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
export declare function rethrowMutationError(err: unknown): never;
|
|
6
|
+
export declare function registerInstances(program: Command): void;
|
|
7
|
+
//# sourceMappingURL=instances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../src/commands/instances.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAmBxD;AAMD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqbxD"}
|