@stoneforge/quarry 0.1.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/LICENSE +13 -0
- package/README.md +160 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/quarry-api.d.ts +268 -0
- package/dist/api/quarry-api.d.ts.map +1 -0
- package/dist/api/quarry-api.js +3905 -0
- package/dist/api/quarry-api.js.map +1 -0
- package/dist/api/types.d.ts +1359 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +204 -0
- package/dist/api/types.js.map +1 -0
- package/dist/bin/sf.d.ts +3 -0
- package/dist/bin/sf.d.ts.map +1 -0
- package/dist/bin/sf.js +9 -0
- package/dist/bin/sf.js.map +1 -0
- package/dist/cli/commands/admin.d.ts +11 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/admin.js +465 -0
- package/dist/cli/commands/admin.js.map +1 -0
- package/dist/cli/commands/alias.d.ts +8 -0
- package/dist/cli/commands/alias.d.ts.map +1 -0
- package/dist/cli/commands/alias.js +70 -0
- package/dist/cli/commands/alias.js.map +1 -0
- package/dist/cli/commands/channel.d.ts +13 -0
- package/dist/cli/commands/channel.d.ts.map +1 -0
- package/dist/cli/commands/channel.js +680 -0
- package/dist/cli/commands/channel.js.map +1 -0
- package/dist/cli/commands/completion.d.ts +8 -0
- package/dist/cli/commands/completion.d.ts.map +1 -0
- package/dist/cli/commands/completion.js +87 -0
- package/dist/cli/commands/completion.js.map +1 -0
- package/dist/cli/commands/config.d.ts +12 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +242 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/crud.d.ts +64 -0
- package/dist/cli/commands/crud.d.ts.map +1 -0
- package/dist/cli/commands/crud.js +805 -0
- package/dist/cli/commands/crud.js.map +1 -0
- package/dist/cli/commands/dep.d.ts +16 -0
- package/dist/cli/commands/dep.d.ts.map +1 -0
- package/dist/cli/commands/dep.js +499 -0
- package/dist/cli/commands/dep.js.map +1 -0
- package/dist/cli/commands/document.d.ts +12 -0
- package/dist/cli/commands/document.d.ts.map +1 -0
- package/dist/cli/commands/document.js +1039 -0
- package/dist/cli/commands/document.js.map +1 -0
- package/dist/cli/commands/embeddings.d.ts +12 -0
- package/dist/cli/commands/embeddings.d.ts.map +1 -0
- package/dist/cli/commands/embeddings.js +273 -0
- package/dist/cli/commands/embeddings.js.map +1 -0
- package/dist/cli/commands/entity.d.ts +16 -0
- package/dist/cli/commands/entity.d.ts.map +1 -0
- package/dist/cli/commands/entity.js +522 -0
- package/dist/cli/commands/entity.js.map +1 -0
- package/dist/cli/commands/gc.d.ts +10 -0
- package/dist/cli/commands/gc.d.ts.map +1 -0
- package/dist/cli/commands/gc.js +257 -0
- package/dist/cli/commands/gc.js.map +1 -0
- package/dist/cli/commands/help.d.ts +11 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/help.js +169 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/history.d.ts +9 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/history.js +160 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/identity.d.ts +18 -0
- package/dist/cli/commands/identity.d.ts.map +1 -0
- package/dist/cli/commands/identity.js +698 -0
- package/dist/cli/commands/identity.js.map +1 -0
- package/dist/cli/commands/inbox.d.ts +20 -0
- package/dist/cli/commands/inbox.d.ts.map +1 -0
- package/dist/cli/commands/inbox.js +493 -0
- package/dist/cli/commands/inbox.js.map +1 -0
- package/dist/cli/commands/init.d.ts +20 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +144 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +9 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +200 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/library.d.ts +12 -0
- package/dist/cli/commands/library.d.ts.map +1 -0
- package/dist/cli/commands/library.js +665 -0
- package/dist/cli/commands/library.js.map +1 -0
- package/dist/cli/commands/message.d.ts +11 -0
- package/dist/cli/commands/message.d.ts.map +1 -0
- package/dist/cli/commands/message.js +608 -0
- package/dist/cli/commands/message.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +17 -0
- package/dist/cli/commands/plan.d.ts.map +1 -0
- package/dist/cli/commands/plan.js +698 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/playbook.d.ts +12 -0
- package/dist/cli/commands/playbook.d.ts.map +1 -0
- package/dist/cli/commands/playbook.js +730 -0
- package/dist/cli/commands/playbook.js.map +1 -0
- package/dist/cli/commands/reset.d.ts +12 -0
- package/dist/cli/commands/reset.d.ts.map +1 -0
- package/dist/cli/commands/reset.js +306 -0
- package/dist/cli/commands/reset.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +11 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +106 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +8 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +82 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +14 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +370 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/task.d.ts +25 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +1153 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/team.d.ts +13 -0
- package/dist/cli/commands/team.d.ts.map +1 -0
- package/dist/cli/commands/team.js +471 -0
- package/dist/cli/commands/team.js.map +1 -0
- package/dist/cli/commands/workflow.d.ts +16 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +753 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/completion.d.ts +28 -0
- package/dist/cli/completion.d.ts.map +1 -0
- package/dist/cli/completion.js +295 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/db.d.ts +38 -0
- package/dist/cli/db.d.ts.map +1 -0
- package/dist/cli/db.js +90 -0
- package/dist/cli/db.js.map +1 -0
- package/dist/cli/formatter.d.ts +87 -0
- package/dist/cli/formatter.d.ts.map +1 -0
- package/dist/cli/formatter.js +464 -0
- package/dist/cli/formatter.js.map +1 -0
- package/dist/cli/index.d.ts +33 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +38 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/parser.d.ts +45 -0
- package/dist/cli/parser.d.ts.map +1 -0
- package/dist/cli/parser.js +256 -0
- package/dist/cli/parser.js.map +1 -0
- package/dist/cli/plugin-loader.d.ts +39 -0
- package/dist/cli/plugin-loader.d.ts.map +1 -0
- package/dist/cli/plugin-loader.js +165 -0
- package/dist/cli/plugin-loader.js.map +1 -0
- package/dist/cli/plugin-registry.d.ts +50 -0
- package/dist/cli/plugin-registry.d.ts.map +1 -0
- package/dist/cli/plugin-registry.js +206 -0
- package/dist/cli/plugin-registry.js.map +1 -0
- package/dist/cli/plugin-types.d.ts +106 -0
- package/dist/cli/plugin-types.d.ts.map +1 -0
- package/dist/cli/plugin-types.js +103 -0
- package/dist/cli/plugin-types.js.map +1 -0
- package/dist/cli/runner.d.ts +35 -0
- package/dist/cli/runner.d.ts.map +1 -0
- package/dist/cli/runner.js +340 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli/suggest.d.ts +15 -0
- package/dist/cli/suggest.d.ts.map +1 -0
- package/dist/cli/suggest.js +49 -0
- package/dist/cli/suggest.js.map +1 -0
- package/dist/cli/types.d.ts +138 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +63 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/config/config.d.ts +86 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +348 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/defaults.d.ts +66 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +114 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/duration.d.ts +75 -0
- package/dist/config/duration.d.ts.map +1 -0
- package/dist/config/duration.js +190 -0
- package/dist/config/duration.js.map +1 -0
- package/dist/config/env.d.ts +67 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +207 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/file.d.ts +97 -0
- package/dist/config/file.d.ts.map +1 -0
- package/dist/config/file.js +365 -0
- package/dist/config/file.js.map +1 -0
- package/dist/config/index.d.ts +35 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +41 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge.d.ts +53 -0
- package/dist/config/merge.d.ts.map +1 -0
- package/dist/config/merge.js +226 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/types.d.ts +257 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +72 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validation.d.ts +55 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +251 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/http/index.d.ts +8 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +12 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/sync-handlers.d.ts +162 -0
- package/dist/http/sync-handlers.d.ts.map +1 -0
- package/dist/http/sync-handlers.js +271 -0
- package/dist/http/sync-handlers.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +69 -0
- package/dist/index.js.map +1 -0
- package/dist/server/index.d.ts +34 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +3329 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/static.d.ts +18 -0
- package/dist/server/static.d.ts.map +1 -0
- package/dist/server/static.js +71 -0
- package/dist/server/static.js.map +1 -0
- package/dist/server/ws/broadcaster.d.ts +8 -0
- package/dist/server/ws/broadcaster.d.ts.map +1 -0
- package/dist/server/ws/broadcaster.js +7 -0
- package/dist/server/ws/broadcaster.js.map +1 -0
- package/dist/server/ws/handler.d.ts +55 -0
- package/dist/server/ws/handler.d.ts.map +1 -0
- package/dist/server/ws/handler.js +160 -0
- package/dist/server/ws/handler.js.map +1 -0
- package/dist/services/blocked-cache.d.ts +297 -0
- package/dist/services/blocked-cache.d.ts.map +1 -0
- package/dist/services/blocked-cache.js +755 -0
- package/dist/services/blocked-cache.js.map +1 -0
- package/dist/services/dependency.d.ts +205 -0
- package/dist/services/dependency.d.ts.map +1 -0
- package/dist/services/dependency.js +566 -0
- package/dist/services/dependency.js.map +1 -0
- package/dist/services/embeddings/fusion.d.ts +33 -0
- package/dist/services/embeddings/fusion.d.ts.map +1 -0
- package/dist/services/embeddings/fusion.js +34 -0
- package/dist/services/embeddings/fusion.js.map +1 -0
- package/dist/services/embeddings/index.d.ts +12 -0
- package/dist/services/embeddings/index.d.ts.map +1 -0
- package/dist/services/embeddings/index.js +10 -0
- package/dist/services/embeddings/index.js.map +1 -0
- package/dist/services/embeddings/local-provider.d.ts +31 -0
- package/dist/services/embeddings/local-provider.d.ts.map +1 -0
- package/dist/services/embeddings/local-provider.js +80 -0
- package/dist/services/embeddings/local-provider.js.map +1 -0
- package/dist/services/embeddings/service.d.ts +76 -0
- package/dist/services/embeddings/service.d.ts.map +1 -0
- package/dist/services/embeddings/service.js +153 -0
- package/dist/services/embeddings/service.js.map +1 -0
- package/dist/services/embeddings/types.d.ts +70 -0
- package/dist/services/embeddings/types.d.ts.map +1 -0
- package/dist/services/embeddings/types.js +8 -0
- package/dist/services/embeddings/types.js.map +1 -0
- package/dist/services/id-length-cache.d.ts +156 -0
- package/dist/services/id-length-cache.d.ts.map +1 -0
- package/dist/services/id-length-cache.js +197 -0
- package/dist/services/id-length-cache.js.map +1 -0
- package/dist/services/inbox.d.ts +147 -0
- package/dist/services/inbox.d.ts.map +1 -0
- package/dist/services/inbox.js +428 -0
- package/dist/services/inbox.js.map +1 -0
- package/dist/services/index.d.ts +10 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +10 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/priority-service.d.ts +145 -0
- package/dist/services/priority-service.d.ts.map +1 -0
- package/dist/services/priority-service.js +272 -0
- package/dist/services/priority-service.js.map +1 -0
- package/dist/services/search-utils.d.ts +47 -0
- package/dist/services/search-utils.d.ts.map +1 -0
- package/dist/services/search-utils.js +83 -0
- package/dist/services/search-utils.js.map +1 -0
- package/dist/sync/hash.d.ts +48 -0
- package/dist/sync/hash.d.ts.map +1 -0
- package/dist/sync/hash.js +136 -0
- package/dist/sync/hash.js.map +1 -0
- package/dist/sync/index.d.ts +11 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +16 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/merge.d.ts +80 -0
- package/dist/sync/merge.d.ts.map +1 -0
- package/dist/sync/merge.js +310 -0
- package/dist/sync/merge.js.map +1 -0
- package/dist/sync/serialization.d.ts +132 -0
- package/dist/sync/serialization.d.ts.map +1 -0
- package/dist/sync/serialization.js +306 -0
- package/dist/sync/serialization.js.map +1 -0
- package/dist/sync/service.d.ts +102 -0
- package/dist/sync/service.d.ts.map +1 -0
- package/dist/sync/service.js +493 -0
- package/dist/sync/service.js.map +1 -0
- package/dist/sync/types.d.ts +275 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +76 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/systems/identity.d.ts +479 -0
- package/dist/systems/identity.d.ts.map +1 -0
- package/dist/systems/identity.js +817 -0
- package/dist/systems/identity.js.map +1 -0
- package/dist/systems/index.d.ts +8 -0
- package/dist/systems/index.d.ts.map +1 -0
- package/dist/systems/index.js +29 -0
- package/dist/systems/index.js.map +1 -0
- package/package.json +121 -0
- package/web/assets/charts-vendor-D1YcbGux.js +55 -0
- package/web/assets/dnd-vendor-DmxE-_ZH.js +5 -0
- package/web/assets/editor-vendor-BxraAWts.js +279 -0
- package/web/assets/index-B77vv208.js +341 -0
- package/web/assets/index-CF_XnVLh.css +1 -0
- package/web/assets/router-vendor-BCKpRBrB.js +41 -0
- package/web/assets/ui-vendor-DUahGnbT.js +45 -0
- package/web/assets/utils-vendor-CfYKiENT.js +813 -0
- package/web/favicon.ico +0 -0
- package/web/index.html +23 -0
- package/web/logo.png +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* init command - Initialize a new Stoneforge workspace
|
|
3
|
+
*
|
|
4
|
+
* Creates the .stoneforge/ directory with:
|
|
5
|
+
* - Empty database with default operator entity
|
|
6
|
+
* - Default configuration file
|
|
7
|
+
* - gitignore file
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
10
|
+
import { join } from 'node:path';
|
|
11
|
+
import { success, failure, ExitCode } from '../types.js';
|
|
12
|
+
import { createStorage, initializeSchema } from '@stoneforge/storage';
|
|
13
|
+
import { createQuarryAPI } from '../../api/quarry-api.js';
|
|
14
|
+
import { ElementType, createTimestamp, } from '@stoneforge/core';
|
|
15
|
+
import { EntityTypeValue } from '@stoneforge/core';
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// Constants
|
|
18
|
+
// ============================================================================
|
|
19
|
+
const STONEFORGE_DIR = '.stoneforge';
|
|
20
|
+
const CONFIG_FILENAME = 'config.yaml';
|
|
21
|
+
const GITIGNORE_FILENAME = '.gitignore';
|
|
22
|
+
const DEFAULT_DB_NAME = 'stoneforge.db';
|
|
23
|
+
/**
|
|
24
|
+
* Default operator entity ID - used as the CLI user and default actor
|
|
25
|
+
*/
|
|
26
|
+
export const OPERATOR_ENTITY_ID = 'el-0000';
|
|
27
|
+
/**
|
|
28
|
+
* Default operator entity name
|
|
29
|
+
*/
|
|
30
|
+
export const OPERATOR_ENTITY_NAME = 'operator';
|
|
31
|
+
// ============================================================================
|
|
32
|
+
// Default Content
|
|
33
|
+
// ============================================================================
|
|
34
|
+
const DEFAULT_CONFIG = `# Stoneforge Configuration
|
|
35
|
+
# See https://github.com/stoneforge/stoneforge for documentation
|
|
36
|
+
|
|
37
|
+
# Default actor for operations (optional)
|
|
38
|
+
# actor: my-agent
|
|
39
|
+
|
|
40
|
+
# Database path (relative to .stoneforge/)
|
|
41
|
+
database: stoneforge.db
|
|
42
|
+
|
|
43
|
+
# Sync settings
|
|
44
|
+
sync:
|
|
45
|
+
auto_export: false
|
|
46
|
+
elements_file: elements.jsonl
|
|
47
|
+
dependencies_file: dependencies.jsonl
|
|
48
|
+
|
|
49
|
+
# Playbook search paths
|
|
50
|
+
playbooks:
|
|
51
|
+
paths:
|
|
52
|
+
- playbooks
|
|
53
|
+
|
|
54
|
+
# Identity settings
|
|
55
|
+
identity:
|
|
56
|
+
mode: soft
|
|
57
|
+
`;
|
|
58
|
+
const DEFAULT_GITIGNORE = `# Stoneforge gitignore
|
|
59
|
+
*.db
|
|
60
|
+
*.db-journal
|
|
61
|
+
*.db-wal
|
|
62
|
+
*.db-shm
|
|
63
|
+
`;
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// Handler
|
|
66
|
+
// ============================================================================
|
|
67
|
+
async function initHandler(_args, options) {
|
|
68
|
+
const workDir = process.cwd();
|
|
69
|
+
const stoneforgeDir = join(workDir, STONEFORGE_DIR);
|
|
70
|
+
// Check if already initialized
|
|
71
|
+
if (existsSync(stoneforgeDir)) {
|
|
72
|
+
return failure(`Workspace already initialized at ${stoneforgeDir}`, ExitCode.VALIDATION);
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
// Create .stoneforge directory
|
|
76
|
+
mkdirSync(stoneforgeDir, { recursive: true });
|
|
77
|
+
// Create config file
|
|
78
|
+
let config = DEFAULT_CONFIG;
|
|
79
|
+
if (options.actor) {
|
|
80
|
+
config = config.replace('# actor: my-agent', `actor: ${options.actor}`);
|
|
81
|
+
}
|
|
82
|
+
writeFileSync(join(stoneforgeDir, CONFIG_FILENAME), config);
|
|
83
|
+
// Create gitignore
|
|
84
|
+
writeFileSync(join(stoneforgeDir, GITIGNORE_FILENAME), DEFAULT_GITIGNORE);
|
|
85
|
+
// Create playbooks directory
|
|
86
|
+
mkdirSync(join(stoneforgeDir, 'playbooks'), { recursive: true });
|
|
87
|
+
// Create the database and operator entity
|
|
88
|
+
const dbPath = join(stoneforgeDir, DEFAULT_DB_NAME);
|
|
89
|
+
const backend = createStorage({ path: dbPath, create: true });
|
|
90
|
+
initializeSchema(backend);
|
|
91
|
+
const api = createQuarryAPI(backend);
|
|
92
|
+
// Create the default operator entity (el-0000)
|
|
93
|
+
const now = createTimestamp();
|
|
94
|
+
const operatorEntity = {
|
|
95
|
+
id: OPERATOR_ENTITY_ID,
|
|
96
|
+
type: ElementType.ENTITY,
|
|
97
|
+
createdAt: now,
|
|
98
|
+
updatedAt: now,
|
|
99
|
+
createdBy: OPERATOR_ENTITY_ID,
|
|
100
|
+
tags: [],
|
|
101
|
+
metadata: {},
|
|
102
|
+
name: OPERATOR_ENTITY_NAME,
|
|
103
|
+
entityType: EntityTypeValue.HUMAN,
|
|
104
|
+
};
|
|
105
|
+
await api.create(operatorEntity);
|
|
106
|
+
return success({ path: stoneforgeDir, operatorId: OPERATOR_ENTITY_ID }, `Initialized Stoneforge workspace at ${stoneforgeDir}\nCreated default operator entity: ${OPERATOR_ENTITY_ID}`);
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
110
|
+
return failure(`Failed to initialize workspace: ${message}`, ExitCode.GENERAL_ERROR);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// ============================================================================
|
|
114
|
+
// Command Definition
|
|
115
|
+
// ============================================================================
|
|
116
|
+
export const initCommand = {
|
|
117
|
+
name: 'init',
|
|
118
|
+
description: 'Initialize a new Stoneforge workspace',
|
|
119
|
+
usage: 'sf init [--name <name>] [--actor <actor>]',
|
|
120
|
+
help: `Initialize a new Stoneforge workspace in the current directory.
|
|
121
|
+
|
|
122
|
+
Creates a .stoneforge/ directory containing:
|
|
123
|
+
- config.yaml Default configuration file
|
|
124
|
+
- stoneforge.db SQLite database with default operator entity
|
|
125
|
+
- .gitignore Git ignore patterns for database files
|
|
126
|
+
- playbooks/ Directory for playbook definitions
|
|
127
|
+
|
|
128
|
+
The database is created with a default "operator" entity (el-0000) that serves
|
|
129
|
+
as the default actor for CLI operations and web applications.`,
|
|
130
|
+
options: [
|
|
131
|
+
{
|
|
132
|
+
name: 'name',
|
|
133
|
+
description: 'Workspace name (optional)',
|
|
134
|
+
hasValue: true,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: 'actor',
|
|
138
|
+
description: 'Default actor for operations',
|
|
139
|
+
hasValue: true,
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
handler: initHandler,
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,WAAW,EACX,eAAe,GAIhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,cAAc,GAAG,aAAa,CAAC;AACrC,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;CAKzB,CAAC;AAWF,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,KAAK,UAAU,WAAW,CACxB,KAAe,EACf,OAAoC;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAEpD,+BAA+B;IAC/B,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,CACZ,oCAAoC,aAAa,EAAE,EACnD,QAAQ,CAAC,UAAU,CACpB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,qBAAqB;QACrB,IAAI,MAAM,GAAG,cAAc,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;QAE5D,mBAAmB;QACnB,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAE1E,6BAA6B;QAC7B,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjE,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,+CAA+C;QAC/C,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAW;YAC7B,EAAE,EAAE,kBAA0C;YAC9C,IAAI,EAAE,WAAW,CAAC,MAAM;YACxB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,kBAAkB;YAC7B,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,eAAe,CAAC,KAAK;SAClC,CAAC;QAEF,MAAM,GAAG,CAAC,MAAM,CAAC,cAA8E,CAAC,CAAC;QAEjG,OAAO,OAAO,CACZ,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,EACvD,uCAAuC,aAAa,sCAAsC,kBAAkB,EAAE,CAC/G,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,mCAAmC,OAAO,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE,2CAA2C;IAClD,IAAI,EAAE;;;;;;;;;8DASsD;IAC5D,OAAO,EAAE;QACP;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE,WAAiC;CAC3C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install Commands - Install stoneforge extensions to the workspace
|
|
3
|
+
*
|
|
4
|
+
* Provides CLI commands for installing skills and other extensions:
|
|
5
|
+
* - install skills: Copy bundled skills to .claude/skills/
|
|
6
|
+
*/
|
|
7
|
+
import type { Command } from '../types.js';
|
|
8
|
+
export declare const installCommand: Command;
|
|
9
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,aAAa,CAAC;AA+MzE,eAAO,MAAM,cAAc,EAAE,OAgC5B,CAAC"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install Commands - Install stoneforge extensions to the workspace
|
|
3
|
+
*
|
|
4
|
+
* Provides CLI commands for installing skills and other extensions:
|
|
5
|
+
* - install skills: Copy bundled skills to .claude/skills/
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, statSync } from 'node:fs';
|
|
8
|
+
import { join, dirname } from 'node:path';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
|
+
import { success, failure, ExitCode } from '../types.js';
|
|
11
|
+
import { suggestCommands } from '../suggest.js';
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Constants
|
|
14
|
+
// ============================================================================
|
|
15
|
+
const CLAUDE_DIR = '.claude';
|
|
16
|
+
const SKILLS_DIR = 'skills';
|
|
17
|
+
const SKILL_FILE = 'SKILL.md';
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Skill Discovery
|
|
20
|
+
// ============================================================================
|
|
21
|
+
/**
|
|
22
|
+
* Attempts to find the skills directory from orchestrator-sdk package
|
|
23
|
+
*/
|
|
24
|
+
function findSkillsSourceDir() {
|
|
25
|
+
// Try multiple locations to find the skills
|
|
26
|
+
// 1. Check if orchestrator-sdk is in node_modules
|
|
27
|
+
const nodeModulesPath = join(process.cwd(), 'node_modules', '@stoneforge', 'orchestrator-sdk');
|
|
28
|
+
const nodeModulesSkillsPath = join(nodeModulesPath, 'dist', 'skills');
|
|
29
|
+
if (existsSync(nodeModulesSkillsPath)) {
|
|
30
|
+
return nodeModulesSkillsPath;
|
|
31
|
+
}
|
|
32
|
+
// 2. Check src/skills in node_modules (in case dist doesn't have skills)
|
|
33
|
+
const nodeModulesSrcSkillsPath = join(nodeModulesPath, 'src', 'skills');
|
|
34
|
+
if (existsSync(nodeModulesSrcSkillsPath)) {
|
|
35
|
+
return nodeModulesSrcSkillsPath;
|
|
36
|
+
}
|
|
37
|
+
// 3. Try to find it relative to this package (for monorepo development)
|
|
38
|
+
try {
|
|
39
|
+
const thisFile = fileURLToPath(import.meta.url);
|
|
40
|
+
const sdkRoot = dirname(dirname(dirname(dirname(thisFile)))); // Go up from commands -> cli -> src -> sdk
|
|
41
|
+
const orchestratorSdkPath = join(dirname(sdkRoot), 'orchestrator-sdk', 'src', 'skills');
|
|
42
|
+
if (existsSync(orchestratorSdkPath)) {
|
|
43
|
+
return orchestratorSdkPath;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Ignore errors when trying to resolve paths
|
|
48
|
+
}
|
|
49
|
+
// 4. Try global node_modules
|
|
50
|
+
const globalNodeModulesPath = join(dirname(process.execPath), '..', 'lib', 'node_modules', '@stoneforge', 'orchestrator-sdk', 'dist', 'skills');
|
|
51
|
+
if (existsSync(globalNodeModulesPath)) {
|
|
52
|
+
return globalNodeModulesPath;
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Gets list of skill directories (each containing a SKILL.md file)
|
|
58
|
+
*/
|
|
59
|
+
function getSkillDirs(skillsDir) {
|
|
60
|
+
if (!existsSync(skillsDir)) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return readdirSync(skillsDir)
|
|
64
|
+
.filter(name => {
|
|
65
|
+
const skillPath = join(skillsDir, name);
|
|
66
|
+
const skillFile = join(skillPath, SKILL_FILE);
|
|
67
|
+
return statSync(skillPath).isDirectory() && existsSync(skillFile);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Recursively copies a directory
|
|
72
|
+
*/
|
|
73
|
+
function copyDir(src, dest) {
|
|
74
|
+
mkdirSync(dest, { recursive: true });
|
|
75
|
+
for (const entry of readdirSync(src)) {
|
|
76
|
+
const srcPath = join(src, entry);
|
|
77
|
+
const destPath = join(dest, entry);
|
|
78
|
+
if (statSync(srcPath).isDirectory()) {
|
|
79
|
+
copyDir(srcPath, destPath);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
const content = readFileSync(srcPath);
|
|
83
|
+
writeFileSync(destPath, content);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async function installSkillsHandler(_args, options) {
|
|
88
|
+
// Find skills source directory
|
|
89
|
+
const skillsSourceDir = findSkillsSourceDir();
|
|
90
|
+
if (!skillsSourceDir) {
|
|
91
|
+
return failure('Could not find skills to install. Make sure @stoneforge/smithy is installed.', ExitCode.GENERAL_ERROR);
|
|
92
|
+
}
|
|
93
|
+
// Get skill directories
|
|
94
|
+
const skillDirs = getSkillDirs(skillsSourceDir);
|
|
95
|
+
if (skillDirs.length === 0) {
|
|
96
|
+
return failure(`No skills found in ${skillsSourceDir}`, ExitCode.GENERAL_ERROR);
|
|
97
|
+
}
|
|
98
|
+
// Create target directory
|
|
99
|
+
const targetDir = join(process.cwd(), CLAUDE_DIR, SKILLS_DIR);
|
|
100
|
+
if (!existsSync(targetDir)) {
|
|
101
|
+
mkdirSync(targetDir, { recursive: true });
|
|
102
|
+
}
|
|
103
|
+
// Copy skills
|
|
104
|
+
const installed = [];
|
|
105
|
+
const skipped = [];
|
|
106
|
+
const errors = [];
|
|
107
|
+
for (const skillName of skillDirs) {
|
|
108
|
+
const srcPath = join(skillsSourceDir, skillName);
|
|
109
|
+
const destPath = join(targetDir, skillName);
|
|
110
|
+
// Check if already exists
|
|
111
|
+
if (existsSync(destPath) && !options.force) {
|
|
112
|
+
skipped.push(skillName);
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
copyDir(srcPath, destPath);
|
|
117
|
+
installed.push(skillName);
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
errors.push(`${skillName}: ${err instanceof Error ? err.message : String(err)}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Build output message
|
|
124
|
+
const lines = [];
|
|
125
|
+
if (installed.length > 0) {
|
|
126
|
+
lines.push(`Installed ${installed.length} skill(s):`);
|
|
127
|
+
for (const skill of installed) {
|
|
128
|
+
lines.push(` - ${skill}/`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (skipped.length > 0) {
|
|
132
|
+
if (lines.length > 0)
|
|
133
|
+
lines.push('');
|
|
134
|
+
lines.push(`Skipped ${skipped.length} existing skill(s) (use --force to overwrite):`);
|
|
135
|
+
for (const skill of skipped) {
|
|
136
|
+
lines.push(` - ${skill}/`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (errors.length > 0) {
|
|
140
|
+
if (lines.length > 0)
|
|
141
|
+
lines.push('');
|
|
142
|
+
lines.push(`Failed to install ${errors.length} skill(s):`);
|
|
143
|
+
for (const error of errors) {
|
|
144
|
+
lines.push(` - ${error}`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (installed.length === 0 && skipped.length === 0 && errors.length === 0) {
|
|
148
|
+
return failure('No skills were installed', ExitCode.GENERAL_ERROR);
|
|
149
|
+
}
|
|
150
|
+
lines.push('');
|
|
151
|
+
lines.push(`Skills directory: ${targetDir}`);
|
|
152
|
+
return success({ installed, skipped, errors, targetDir }, lines.join('\n'));
|
|
153
|
+
}
|
|
154
|
+
const skillsCommand = {
|
|
155
|
+
name: 'skills',
|
|
156
|
+
description: 'Install Claude skills to .claude/skills/',
|
|
157
|
+
usage: 'sf install skills [--force]',
|
|
158
|
+
options: [
|
|
159
|
+
{
|
|
160
|
+
name: 'force',
|
|
161
|
+
short: 'f',
|
|
162
|
+
description: 'Overwrite existing skill files',
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
handler: installSkillsHandler,
|
|
166
|
+
};
|
|
167
|
+
// ============================================================================
|
|
168
|
+
// Install Command
|
|
169
|
+
// ============================================================================
|
|
170
|
+
export const installCommand = {
|
|
171
|
+
name: 'install',
|
|
172
|
+
description: 'Install stoneforge extensions',
|
|
173
|
+
usage: 'sf install <subcommand> [options]',
|
|
174
|
+
help: `Install stoneforge extensions to the workspace.
|
|
175
|
+
|
|
176
|
+
Subcommands:
|
|
177
|
+
skills Install Claude skills to .claude/skills/
|
|
178
|
+
|
|
179
|
+
Examples:
|
|
180
|
+
sf install skills Install Claude skills to workspace
|
|
181
|
+
sf install skills --force Overwrite existing skills`,
|
|
182
|
+
subcommands: {
|
|
183
|
+
skills: skillsCommand,
|
|
184
|
+
},
|
|
185
|
+
handler: async (args, _options) => {
|
|
186
|
+
if (args.length === 0) {
|
|
187
|
+
return failure(`Missing subcommand. Use 'sf install skills'. Run 'sf install --help' for more information.`, ExitCode.INVALID_ARGUMENTS);
|
|
188
|
+
}
|
|
189
|
+
// Show "did you mean?" for unknown subcommands
|
|
190
|
+
const subNames = Object.keys(installCommand.subcommands);
|
|
191
|
+
const suggestions = suggestCommands(args[0], subNames);
|
|
192
|
+
let msg = `Unknown subcommand: ${args[0]}`;
|
|
193
|
+
if (suggestions.length > 0) {
|
|
194
|
+
msg += `\n\nDid you mean?\n${suggestions.map(s => ` ${s}`).join('\n')}`;
|
|
195
|
+
}
|
|
196
|
+
msg += '\n\nRun "sf install --help" to see available subcommands.';
|
|
197
|
+
return failure(msg, ExitCode.INVALID_ARGUMENTS);
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Library Commands - Collection command interface for libraries
|
|
3
|
+
*
|
|
4
|
+
* Provides CLI commands for library operations:
|
|
5
|
+
* - library create: Create a new library
|
|
6
|
+
* - library list: List libraries
|
|
7
|
+
* - library add: Add document to library
|
|
8
|
+
* - library remove: Remove document from library
|
|
9
|
+
*/
|
|
10
|
+
import type { Command } from '../types.js';
|
|
11
|
+
export declare const libraryCommand: Command;
|
|
12
|
+
//# sourceMappingURL=library.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/library.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAA+C,MAAM,aAAa,CAAC;AAkwBxF,eAAO,MAAM,cAAc,EAAE,OA8D5B,CAAC"}
|