@documentation-robotics/cli 0.1.12 → 0.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 +39 -1
- package/dist/analyzers/verify-engine.js +22 -19
- package/dist/analyzers/verify-engine.js.map +2 -2
- package/dist/cli.js +101 -27
- package/dist/cli.js.map +3 -3
- package/dist/coding-agents/agents/claude-code.js +3 -1
- package/dist/coding-agents/agents/claude-code.js.map +2 -2
- package/dist/coding-agents/claude-code-client.js +2 -1
- package/dist/coding-agents/claude-code-client.js.map +2 -2
- package/dist/coding-agents/copilot-client.js +17 -12
- package/dist/coding-agents/copilot-client.js.map +2 -2
- package/dist/coding-agents/default-permissions.js +122 -0
- package/dist/coding-agents/default-permissions.js.map +7 -0
- package/dist/commands/add.js +10 -6
- package/dist/commands/add.js.map +2 -2
- package/dist/commands/analyzer.js +18 -10
- package/dist/commands/analyzer.js.map +2 -2
- package/dist/commands/audit.js +6 -6
- package/dist/commands/audit.js.map +2 -2
- package/dist/commands/changeset.js +238 -145
- package/dist/commands/changeset.js.map +2 -2
- package/dist/commands/delete.js +45 -18
- package/dist/commands/delete.js.map +3 -3
- package/dist/commands/element.js +3 -2
- package/dist/commands/element.js.map +2 -2
- package/dist/commands/farm.js +657 -0
- package/dist/commands/farm.js.map +7 -0
- package/dist/commands/init.js +11 -1
- package/dist/commands/init.js.map +2 -2
- package/dist/commands/mcp.js +107 -0
- package/dist/commands/mcp.js.map +7 -0
- package/dist/commands/relationship.js +53 -30
- package/dist/commands/relationship.js.map +2 -2
- package/dist/commands/reports.js +1 -1
- package/dist/commands/reports.js.map +2 -2
- package/dist/commands/update.js +19 -6
- package/dist/commands/update.js.map +2 -2
- package/dist/commands/validate.js +41 -3
- package/dist/commands/validate.js.map +2 -2
- package/dist/commands/version.js +2 -2
- package/dist/commands/version.js.map +2 -2
- package/dist/config.js +83 -0
- package/dist/config.js.map +7 -0
- package/dist/core/annotation-store.js +138 -0
- package/dist/core/annotation-store.js.map +7 -0
- package/dist/core/farm-manifest.js +134 -0
- package/dist/core/farm-manifest.js.map +7 -0
- package/dist/core/farm-sync-engine.js +346 -0
- package/dist/core/farm-sync-engine.js.map +7 -0
- package/dist/core/farm-sync-state.js +159 -0
- package/dist/core/farm-sync-state.js.map +7 -0
- package/dist/core/manifest.js +6 -3
- package/dist/core/manifest.js.map +2 -2
- package/dist/core/migration-registry.js +55 -1
- package/dist/core/migration-registry.js.map +2 -2
- package/dist/core/model.js +177 -16
- package/dist/core/model.js.map +3 -3
- package/dist/core/virtual-projection.js +1 -0
- package/dist/core/virtual-projection.js.map +2 -2
- package/dist/generated/node-types.js +1 -1
- package/dist/generated/node-types.js.map +2 -2
- package/dist/generated/relationship-index.js +45 -9
- package/dist/generated/relationship-index.js.map +2 -2
- package/dist/integrations/claude_code/docs/MCP_SERVER.md +55 -0
- package/dist/integrations/claude_code/docs/README.md +4 -0
- package/dist/mcp/api-key-manager.js +98 -0
- package/dist/mcp/api-key-manager.js.map +7 -0
- package/dist/mcp/http-transport.js +176 -0
- package/dist/mcp/http-transport.js.map +7 -0
- package/dist/mcp/resource-registry.js +97 -0
- package/dist/mcp/resource-registry.js.map +7 -0
- package/dist/mcp/tool-registry.js +44 -0
- package/dist/mcp/tool-registry.js.map +7 -0
- package/dist/mcp/tools/annotation-create.js +39 -0
- package/dist/mcp/tools/annotation-create.js.map +7 -0
- package/dist/mcp/tools/annotation-delete.js +29 -0
- package/dist/mcp/tools/annotation-delete.js.map +7 -0
- package/dist/mcp/tools/annotation-get.js +29 -0
- package/dist/mcp/tools/annotation-get.js.map +7 -0
- package/dist/mcp/tools/annotation-list.js +24 -0
- package/dist/mcp/tools/annotation-list.js.map +7 -0
- package/dist/mcp/tools/annotation-reply.js +34 -0
- package/dist/mcp/tools/annotation-reply.js.map +7 -0
- package/dist/mcp/tools/annotation-shared.js +10 -0
- package/dist/mcp/tools/annotation-shared.js.map +7 -0
- package/dist/mcp/tools/annotation-update.js +39 -0
- package/dist/mcp/tools/annotation-update.js.map +7 -0
- package/dist/mcp/tools/changeset-list.js +33 -0
- package/dist/mcp/tools/changeset-list.js.map +7 -0
- package/dist/mcp/tools/changeset-show.js +39 -0
- package/dist/mcp/tools/changeset-show.js.map +7 -0
- package/dist/mcp/tools/chat-launch.js +50 -0
- package/dist/mcp/tools/chat-launch.js.map +7 -0
- package/dist/mcp/tools/chat-status.js +26 -0
- package/dist/mcp/tools/chat-status.js.map +7 -0
- package/dist/mcp/tools/index.js +47 -0
- package/dist/mcp/tools/index.js.map +7 -0
- package/dist/mcp/tools/model-add.js +106 -0
- package/dist/mcp/tools/model-add.js.map +7 -0
- package/dist/mcp/tools/model-delete.js +99 -0
- package/dist/mcp/tools/model-delete.js.map +7 -0
- package/dist/mcp/tools/model-export.js +72 -0
- package/dist/mcp/tools/model-export.js.map +7 -0
- package/dist/mcp/tools/model-info.js +51 -0
- package/dist/mcp/tools/model-info.js.map +7 -0
- package/dist/mcp/tools/model-list.js +53 -0
- package/dist/mcp/tools/model-list.js.map +7 -0
- package/dist/mcp/tools/model-reload.js +34 -0
- package/dist/mcp/tools/model-reload.js.map +7 -0
- package/dist/mcp/tools/model-search.js +88 -0
- package/dist/mcp/tools/model-search.js.map +7 -0
- package/dist/mcp/tools/model-show.js +41 -0
- package/dist/mcp/tools/model-show.js.map +7 -0
- package/dist/mcp/tools/model-stats.js +22 -0
- package/dist/mcp/tools/model-stats.js.map +7 -0
- package/dist/mcp/tools/model-trace.js +55 -0
- package/dist/mcp/tools/model-trace.js.map +7 -0
- package/dist/mcp/tools/model-update.js +105 -0
- package/dist/mcp/tools/model-update.js.map +7 -0
- package/dist/mcp/tools/model-validate.js +78 -0
- package/dist/mcp/tools/model-validate.js.map +7 -0
- package/dist/mcp/tools/shared.js +103 -0
- package/dist/mcp/tools/shared.js.map +7 -0
- package/dist/reports/model-layer-report-generator.js +5 -3
- package/dist/reports/model-layer-report-generator.js.map +2 -2
- package/dist/reports/model-readme-generator.js +116 -0
- package/dist/reports/model-readme-generator.js.map +7 -0
- package/dist/reports/model-report-data.js +37 -1
- package/dist/reports/model-report-data.js.map +2 -2
- package/dist/reports/model-report-orchestrator.js +29 -6
- package/dist/reports/model-report-orchestrator.js.map +2 -2
- package/dist/reports/model-report-utils.js +9 -0
- package/dist/reports/model-report-utils.js.map +7 -0
- package/dist/schemas/bundled/analyzers/cbm.json +2 -2
- package/dist/schemas/bundled/analyzers/manifest.json +2 -2
- package/dist/schemas/bundled/api.json +1 -1
- package/dist/schemas/bundled/apm.json +1 -1
- package/dist/schemas/bundled/application.json +12 -1
- package/dist/schemas/bundled/base.json +1 -1
- package/dist/schemas/bundled/business.json +1 -1
- package/dist/schemas/bundled/data-model.json +38 -2
- package/dist/schemas/bundled/data-store.json +1 -1
- package/dist/schemas/bundled/manifest.json +4 -4
- package/dist/schemas/bundled/motivation.json +1 -1
- package/dist/schemas/bundled/navigation.json +1 -1
- package/dist/schemas/bundled/product.json +1 -1
- package/dist/schemas/bundled/security.json +1 -1
- package/dist/schemas/bundled/technology.json +1 -1
- package/dist/schemas/bundled/testing.json +1 -1
- package/dist/schemas/bundled/ux.json +1 -1
- package/dist/server/server.js +45 -7
- package/dist/server/server.js.map +2 -2
- package/dist/telemetry/config.js +2 -40
- package/dist/telemetry/config.js.map +2 -2
- package/dist/telemetry/index.js +1 -1
- package/dist/types/index.js.map +2 -2
- package/dist/utils/ansi-suppressor.js +25 -0
- package/dist/utils/ansi-suppressor.js.map +7 -0
- package/dist/utils/color-utils.js +34 -0
- package/dist/utils/color-utils.js.map +7 -0
- package/dist/utils/element-reference-shape.js +15 -1
- package/dist/utils/element-reference-shape.js.map +3 -3
- package/dist/utils/errors.js +69 -10
- package/dist/utils/errors.js.map +2 -2
- package/dist/utils/globals.js +17 -1
- package/dist/utils/globals.js.map +2 -2
- package/dist/utils/project-paths.js +24 -2
- package/dist/utils/project-paths.js.map +2 -2
- package/dist/utils/reference-path-parser.js +49 -0
- package/dist/utils/reference-path-parser.js.map +7 -0
- package/dist/utils/source-reference.js +5 -0
- package/dist/utils/source-reference.js.map +2 -2
- package/dist/utils/spec-version.js +10 -2
- package/dist/utils/spec-version.js.map +2 -2
- package/dist/validators/composed-reference-validator.js +262 -0
- package/dist/validators/composed-reference-validator.js.map +7 -0
- package/dist/validators/reference-validator.js +59 -8
- package/dist/validators/reference-validator.js.map +3 -3
- package/dist/validators/relationship-schema-validator.js +30 -2
- package/dist/validators/relationship-schema-validator.js.map +3 -3
- package/dist/viewer/README.md +6 -6
- package/dist/viewer/assets/main-B7AOQXXX.js +81 -0
- package/dist/viewer/assets/main-vdrFrG7q.css +1 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/manifest.json +10 -10
- package/dist/viewer/version.json +1 -1
- package/package.json +6 -3
- package/dist/viewer/assets/main-BRPZyc36.css +0 -1
- package/dist/viewer/assets/main-BrpLargo.js +0 -81
package/dist/server/server.js
CHANGED
|
@@ -17,6 +17,7 @@ import { telemetryMiddleware } from "./telemetry-middleware.js";
|
|
|
17
17
|
import { ClaudeCodeClient } from "../coding-agents/claude-code-client.js";
|
|
18
18
|
import { CopilotClient } from "../coding-agents/copilot-client.js";
|
|
19
19
|
import { detectAvailableClients, selectChatClient } from "../coding-agents/chat-utils.js";
|
|
20
|
+
import { formatForClaudeCode, applyCopilotPermissions } from "../coding-agents/default-permissions.js";
|
|
20
21
|
import { getErrorMessage } from "../utils/errors.js";
|
|
21
22
|
import { AnnotationCreateSchema, AnnotationUpdateSchema, AnnotationReplyCreateSchema, LayerNameSchema, IdSchema, AnnotationFilterSchema, ErrorResponseSchema, HealthResponseSchema, AnnotationSchema, AnnotationReplySchema, AnnotationsListSchema, ChangesetsListSchema, ChangesetDetailSchema, ModelResponseSchema, LayerResponseSchema, SpecResponseSchema, AnnotationRepliesSchema, WSMessageSchema } from "./schemas.js";
|
|
22
23
|
const JSONRPC_ERRORS = {
|
|
@@ -62,6 +63,8 @@ class VisualizationServer {
|
|
|
62
63
|
// Selected chat client for server
|
|
63
64
|
chatInitializationError;
|
|
64
65
|
// Store initialization error for status endpoint
|
|
66
|
+
_testClaudeCmdOverride;
|
|
67
|
+
_testCopilotCmdOverride;
|
|
65
68
|
/**
|
|
66
69
|
* Valid spec node IDs per layer
|
|
67
70
|
* Dynamically loaded from compiled spec (spec/dist/{layer}.json at module load time)
|
|
@@ -1263,13 +1266,31 @@ class VisualizationServer {
|
|
|
1263
1266
|
id: requestId
|
|
1264
1267
|
}));
|
|
1265
1268
|
}
|
|
1269
|
+
/**
|
|
1270
|
+
* Build command arguments for Claude Code launch
|
|
1271
|
+
*/
|
|
1272
|
+
buildClaudeChatArgs() {
|
|
1273
|
+
const cmd = ["claude", "--agent", "dr-architect", "--print"];
|
|
1274
|
+
return this.withDanger ? cmd.push("--dangerously-skip-permissions") : cmd.push("--allowedTools", formatForClaudeCode()), cmd.push("--verbose", "--output-format", "stream-json"), cmd;
|
|
1275
|
+
}
|
|
1276
|
+
/**
|
|
1277
|
+
* Add permission flags to Copilot command based on withDanger setting
|
|
1278
|
+
* Applies read-safe permissions when withDanger is false, with graceful degradation
|
|
1279
|
+
* if the installed Copilot CLI doesn't support granular permission flags.
|
|
1280
|
+
* @param cmd The command array to modify (will be mutated)
|
|
1281
|
+
* @param variant The Copilot variant for error messages (e.g., "gh copilot" or "copilot")
|
|
1282
|
+
*/
|
|
1283
|
+
addCopilotPermissionFlags(cmd, variant) {
|
|
1284
|
+
const copilotCommand = cmd[0] === "gh" ? "gh" : "copilot";
|
|
1285
|
+
applyCopilotPermissions(cmd, variant, copilotCommand, this.withDanger);
|
|
1286
|
+
}
|
|
1266
1287
|
/**
|
|
1267
1288
|
* Launch Claude Code CLI with dr-architect agent and stream responses
|
|
1268
1289
|
*/
|
|
1269
1290
|
async launchClaudeCodeChat(ws, conversationId, message, requestId) {
|
|
1270
1291
|
try {
|
|
1271
|
-
const cmd =
|
|
1272
|
-
this.
|
|
1292
|
+
const cmd = this.buildClaudeChatArgs();
|
|
1293
|
+
this._testClaudeCmdOverride && cmd.splice(0, cmd.length, ...this._testClaudeCmdOverride);
|
|
1273
1294
|
const proc = spawn(cmd[0], cmd.slice(1), {
|
|
1274
1295
|
cwd: this.model.rootPath,
|
|
1275
1296
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -1424,10 +1445,14 @@ class VisualizationServer {
|
|
|
1424
1445
|
async launchCopilotChat(ws, conversationId, message, requestId) {
|
|
1425
1446
|
try {
|
|
1426
1447
|
let cmd;
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1448
|
+
if (this._testCopilotCmdOverride)
|
|
1449
|
+
cmd = [...this._testCopilotCmdOverride];
|
|
1450
|
+
else {
|
|
1451
|
+
const ghResult = spawnSync("gh", ["copilot", "--version"], {
|
|
1452
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
1453
|
+
});
|
|
1454
|
+
ghResult.error ? console.warn(`[Copilot] 'gh copilot --version' probe failed to spawn: ${getErrorMessage(ghResult.error)}`) : ghResult.status !== 0 && process.env.VERBOSE && console.log(`[Copilot] 'gh copilot' unavailable (exit ${ghResult.status}), falling back to standalone 'copilot'`), ghResult.status === 0 ? (cmd = ["gh", "copilot", "explain"], this.addCopilotPermissionFlags(cmd, "gh copilot"), cmd.push(message)) : (cmd = ["copilot", "explain"], this.addCopilotPermissionFlags(cmd, "copilot"), cmd.push(message));
|
|
1455
|
+
}
|
|
1431
1456
|
const proc = spawn(cmd[0], cmd.slice(1), {
|
|
1432
1457
|
cwd: this.model.rootPath,
|
|
1433
1458
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -1497,7 +1522,20 @@ class VisualizationServer {
|
|
|
1497
1522
|
}
|
|
1498
1523
|
}
|
|
1499
1524
|
})().catch((err) => {
|
|
1500
|
-
|
|
1525
|
+
const errorMsg = getErrorMessage(err);
|
|
1526
|
+
console.error(`[Copilot] Stream error: ${errorMsg}`);
|
|
1527
|
+
try {
|
|
1528
|
+
ws.send(JSON.stringify({
|
|
1529
|
+
jsonrpc: "2.0",
|
|
1530
|
+
error: {
|
|
1531
|
+
code: JSONRPC_ERRORS.INTERNAL_ERROR,
|
|
1532
|
+
message: `Stream error: ${errorMsg}`
|
|
1533
|
+
},
|
|
1534
|
+
id: requestId
|
|
1535
|
+
}));
|
|
1536
|
+
} catch (sendError) {
|
|
1537
|
+
console.error(`[Copilot] Failed to send stream error notification: ${getErrorMessage(sendError)}`);
|
|
1538
|
+
}
|
|
1501
1539
|
});
|
|
1502
1540
|
} catch (error) {
|
|
1503
1541
|
const errorMsg = getErrorMessage(error);
|