swallowkit 1.0.0-beta.9 → 1.0.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.ja.md +87 -181
- package/README.md +87 -238
- package/dist/__tests__/fixtures.d.ts +12 -0
- package/dist/__tests__/fixtures.d.ts.map +1 -1
- package/dist/__tests__/fixtures.js +101 -0
- package/dist/__tests__/fixtures.js.map +1 -1
- package/dist/cli/commands/add-auth.d.ts +15 -0
- package/dist/cli/commands/add-auth.d.ts.map +1 -0
- package/dist/cli/commands/add-auth.js +790 -0
- package/dist/cli/commands/add-auth.js.map +1 -0
- package/dist/cli/commands/add-connector.d.ts +20 -0
- package/dist/cli/commands/add-connector.d.ts.map +1 -0
- package/dist/cli/commands/add-connector.js +164 -0
- package/dist/cli/commands/add-connector.js.map +1 -0
- package/dist/cli/commands/cosmos-worktree-isolation.d.ts +25 -0
- package/dist/cli/commands/cosmos-worktree-isolation.d.ts.map +1 -0
- package/dist/cli/commands/cosmos-worktree-isolation.js +124 -0
- package/dist/cli/commands/cosmos-worktree-isolation.js.map +1 -0
- package/dist/cli/commands/create-model.d.ts +1 -4
- package/dist/cli/commands/create-model.d.ts.map +1 -1
- package/dist/cli/commands/create-model.js +20 -82
- package/dist/cli/commands/create-model.js.map +1 -1
- package/dist/cli/commands/dev-seeds.d.ts +27 -0
- package/dist/cli/commands/dev-seeds.d.ts.map +1 -1
- package/dist/cli/commands/dev-seeds.js +188 -6
- package/dist/cli/commands/dev-seeds.js.map +1 -1
- package/dist/cli/commands/dev.d.ts +30 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +495 -129
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/init.d.ts +69 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +788 -766
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/scaffold.d.ts +24 -3
- package/dist/cli/commands/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.js +408 -189
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/index.d.ts +5 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +335 -58
- package/dist/cli/index.js.map +1 -1
- package/dist/core/config.d.ts +13 -3
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +151 -8
- package/dist/core/config.js.map +1 -1
- package/dist/core/mock/connector-mock-server.d.ts +101 -0
- package/dist/core/mock/connector-mock-server.d.ts.map +1 -0
- package/dist/core/mock/connector-mock-server.js +480 -0
- package/dist/core/mock/connector-mock-server.js.map +1 -0
- package/dist/core/mock/zod-mock-generator.d.ts +14 -0
- package/dist/core/mock/zod-mock-generator.d.ts.map +1 -0
- package/dist/core/mock/zod-mock-generator.js +163 -0
- package/dist/core/mock/zod-mock-generator.js.map +1 -0
- package/dist/core/operations/auth-operations.d.ts +61 -0
- package/dist/core/operations/auth-operations.d.ts.map +1 -0
- package/dist/core/operations/auth-operations.js +272 -0
- package/dist/core/operations/auth-operations.js.map +1 -0
- package/dist/core/operations/create-model.d.ts +15 -0
- package/dist/core/operations/create-model.d.ts.map +1 -0
- package/dist/core/operations/create-model.js +185 -0
- package/dist/core/operations/create-model.js.map +1 -0
- package/dist/core/operations/file-session.d.ts +56 -0
- package/dist/core/operations/file-session.d.ts.map +1 -0
- package/dist/core/operations/file-session.js +203 -0
- package/dist/core/operations/file-session.js.map +1 -0
- package/dist/core/operations/provision-operations.d.ts +52 -0
- package/dist/core/operations/provision-operations.d.ts.map +1 -0
- package/dist/core/operations/provision-operations.js +211 -0
- package/dist/core/operations/provision-operations.js.map +1 -0
- package/dist/core/operations/runtime.d.ts +37 -0
- package/dist/core/operations/runtime.d.ts.map +1 -0
- package/dist/core/operations/runtime.js +248 -0
- package/dist/core/operations/runtime.js.map +1 -0
- package/dist/core/operations/scaffold-apply.d.ts +21 -0
- package/dist/core/operations/scaffold-apply.d.ts.map +1 -0
- package/dist/core/operations/scaffold-apply.js +57 -0
- package/dist/core/operations/scaffold-apply.js.map +1 -0
- package/dist/core/operations/scaffold-machine.d.ts +16 -0
- package/dist/core/operations/scaffold-machine.d.ts.map +1 -0
- package/dist/core/operations/scaffold-machine.js +51 -0
- package/dist/core/operations/scaffold-machine.js.map +1 -0
- package/dist/core/operations/scaffold-plan.d.ts +43 -0
- package/dist/core/operations/scaffold-plan.d.ts.map +1 -0
- package/dist/core/operations/scaffold-plan.js +187 -0
- package/dist/core/operations/scaffold-plan.js.map +1 -0
- package/dist/core/project/agent-instructions.d.ts +29 -0
- package/dist/core/project/agent-instructions.d.ts.map +1 -0
- package/dist/core/project/agent-instructions.js +160 -0
- package/dist/core/project/agent-instructions.js.map +1 -0
- package/dist/core/project/artifacts.d.ts +58 -0
- package/dist/core/project/artifacts.d.ts.map +1 -0
- package/dist/core/project/artifacts.js +179 -0
- package/dist/core/project/artifacts.js.map +1 -0
- package/dist/core/project/boundaries.d.ts +50 -0
- package/dist/core/project/boundaries.d.ts.map +1 -0
- package/dist/core/project/boundaries.js +117 -0
- package/dist/core/project/boundaries.js.map +1 -0
- package/dist/core/project/capabilities.d.ts +58 -0
- package/dist/core/project/capabilities.d.ts.map +1 -0
- package/dist/core/project/capabilities.js +135 -0
- package/dist/core/project/capabilities.js.map +1 -0
- package/dist/core/project/drift.d.ts +29 -0
- package/dist/core/project/drift.d.ts.map +1 -0
- package/dist/core/project/drift.js +190 -0
- package/dist/core/project/drift.js.map +1 -0
- package/dist/core/project/infra.d.ts +49 -0
- package/dist/core/project/infra.d.ts.map +1 -0
- package/dist/core/project/infra.js +167 -0
- package/dist/core/project/infra.js.map +1 -0
- package/dist/core/project/manifest.d.ts +92 -0
- package/dist/core/project/manifest.d.ts.map +1 -0
- package/dist/core/project/manifest.js +321 -0
- package/dist/core/project/manifest.js.map +1 -0
- package/dist/core/project/state.d.ts +15 -0
- package/dist/core/project/state.d.ts.map +1 -0
- package/dist/core/project/state.js +106 -0
- package/dist/core/project/state.js.map +1 -0
- package/dist/core/project/validation.d.ts +20 -0
- package/dist/core/project/validation.d.ts.map +1 -0
- package/dist/core/project/validation.js +274 -0
- package/dist/core/project/validation.js.map +1 -0
- package/dist/core/project/workflows.d.ts +43 -0
- package/dist/core/project/workflows.d.ts.map +1 -0
- package/dist/core/project/workflows.js +299 -0
- package/dist/core/project/workflows.js.map +1 -0
- package/dist/core/scaffold/auth-generator.d.ts +63 -0
- package/dist/core/scaffold/auth-generator.d.ts.map +1 -0
- package/dist/core/scaffold/auth-generator.js +1774 -0
- package/dist/core/scaffold/auth-generator.js.map +1 -0
- package/dist/core/scaffold/connector-functions-generator.d.ts +41 -0
- package/dist/core/scaffold/connector-functions-generator.d.ts.map +1 -0
- package/dist/core/scaffold/connector-functions-generator.js +1029 -0
- package/dist/core/scaffold/connector-functions-generator.js.map +1 -0
- package/dist/core/scaffold/functions-generator.d.ts +4 -3
- package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
- package/dist/core/scaffold/functions-generator.js +405 -134
- package/dist/core/scaffold/functions-generator.js.map +1 -1
- package/dist/core/scaffold/model-parser.d.ts +20 -0
- package/dist/core/scaffold/model-parser.d.ts.map +1 -1
- package/dist/core/scaffold/model-parser.js +229 -78
- package/dist/core/scaffold/model-parser.js.map +1 -1
- package/dist/core/scaffold/native-schema-generator.d.ts +19 -0
- package/dist/core/scaffold/native-schema-generator.d.ts.map +1 -0
- package/dist/core/scaffold/native-schema-generator.js +753 -0
- package/dist/core/scaffold/native-schema-generator.js.map +1 -0
- package/dist/core/scaffold/nextjs-generator.d.ts +8 -0
- package/dist/core/scaffold/nextjs-generator.d.ts.map +1 -1
- package/dist/core/scaffold/nextjs-generator.js +152 -8
- package/dist/core/scaffold/nextjs-generator.js.map +1 -1
- package/dist/core/scaffold/ui-generator.d.ts +17 -4
- package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
- package/dist/core/scaffold/ui-generator.js +174 -34
- package/dist/core/scaffold/ui-generator.js.map +1 -1
- package/dist/core/verify/index.d.ts +69 -0
- package/dist/core/verify/index.d.ts.map +1 -0
- package/dist/core/verify/index.js +412 -0
- package/dist/core/verify/index.js.map +1 -0
- package/dist/machine/contracts.d.ts +24 -0
- package/dist/machine/contracts.d.ts.map +1 -0
- package/dist/machine/contracts.js +3 -0
- package/dist/machine/contracts.js.map +1 -0
- package/dist/machine/errors.d.ts +14 -0
- package/dist/machine/errors.d.ts.map +1 -0
- package/dist/machine/errors.js +42 -0
- package/dist/machine/errors.js.map +1 -0
- package/dist/machine/index.d.ts +3 -0
- package/dist/machine/index.d.ts.map +1 -0
- package/dist/machine/index.js +566 -0
- package/dist/machine/index.js.map +1 -0
- package/dist/mcp/index.d.ts +25 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +425 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/types/index.d.ts +105 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/package-manager.d.ts +7 -11
- package/dist/utils/package-manager.d.ts.map +1 -1
- package/dist/utils/package-manager.js +42 -17
- package/dist/utils/package-manager.js.map +1 -1
- package/dist/utils/python-uv.d.ts +21 -0
- package/dist/utils/python-uv.d.ts.map +1 -0
- package/dist/utils/python-uv.js +111 -0
- package/dist/utils/python-uv.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +49 -0
- package/dist/version.js.map +1 -0
- package/package.json +15 -17
- package/src/__tests__/__snapshots__/functions-generator.test.ts.snap +716 -22
- package/src/__tests__/__snapshots__/nextjs-generator.test.ts.snap +19 -7
- package/src/__tests__/__snapshots__/ui-generator.test.ts.snap +20 -12
- package/src/__tests__/agent-instructions.test.ts +237 -0
- package/src/__tests__/agent-loop-phase34.test.ts +619 -0
- package/src/__tests__/auth.test.ts +770 -0
- package/src/__tests__/bff-swa-auth.test.ts +275 -0
- package/src/__tests__/config.test.ts +176 -3
- package/src/__tests__/connector-functions-generator.test.ts +288 -0
- package/src/__tests__/connector-mock-server.test.ts +459 -0
- package/src/__tests__/connector-model-bff.test.ts +162 -0
- package/src/__tests__/cosmos-worktree-isolation.test.ts +149 -0
- package/src/__tests__/dev-seeds.test.ts +124 -0
- package/src/__tests__/dev.test.ts +254 -0
- package/src/__tests__/file-session.test.ts +98 -0
- package/src/__tests__/fixtures.ts +101 -0
- package/src/__tests__/functions-generator.test.ts +137 -1
- package/src/__tests__/init.test.ts +366 -2
- package/src/__tests__/jest-globals.d.ts +8 -0
- package/src/__tests__/machine.test.ts +371 -0
- package/src/__tests__/mcp.test.ts +253 -0
- package/src/__tests__/model-parser.test.ts +142 -0
- package/src/__tests__/multi-auth.test.ts +160 -0
- package/src/__tests__/nextjs-generator.test.ts +8 -0
- package/src/__tests__/package-manager.test.ts +59 -4
- package/src/__tests__/plan-apply.test.ts +499 -0
- package/src/__tests__/python-uv.test.ts +48 -0
- package/src/__tests__/scaffold.test.ts +287 -24
- package/src/__tests__/tsconfig.json +15 -0
- package/src/__tests__/ui-generator.test.ts +104 -0
- package/src/__tests__/zod-mock-generator.test.ts +132 -0
- package/src/cli/commands/add-auth.ts +853 -0
- package/src/cli/commands/add-connector.ts +159 -0
- package/src/cli/commands/cosmos-worktree-isolation.ts +130 -0
- package/src/cli/commands/create-model.ts +21 -100
- package/src/cli/commands/dev-seeds.ts +278 -7
- package/src/cli/commands/dev.ts +607 -160
- package/src/cli/commands/init.ts +851 -786
- package/src/cli/commands/scaffold.ts +531 -236
- package/src/cli/index.ts +338 -60
- package/src/core/config.ts +145 -9
- package/src/core/mock/connector-mock-server.ts +555 -0
- package/src/core/mock/zod-mock-generator.ts +205 -0
- package/src/core/operations/auth-operations.ts +360 -0
- package/src/core/operations/create-model.ts +191 -0
- package/src/core/operations/file-session.ts +222 -0
- package/src/core/operations/provision-operations.ts +297 -0
- package/src/core/operations/runtime.ts +258 -0
- package/src/core/operations/scaffold-apply.ts +106 -0
- package/src/core/operations/scaffold-machine.ts +77 -0
- package/src/core/operations/scaffold-plan.ts +215 -0
- package/src/core/project/agent-instructions.ts +167 -0
- package/src/core/project/agent-templates/AGENTS.md +504 -0
- package/src/core/project/agent-templates/CLAUDE.md +31 -0
- package/src/core/project/agent-templates/azure-functions.instructions.md +22 -0
- package/src/core/project/agent-templates/bff-routes.instructions.md +18 -0
- package/src/core/project/agent-templates/copilot-instructions.md +27 -0
- package/src/core/project/agent-templates/shared-models.instructions.md +72 -0
- package/src/core/project/artifacts.ts +205 -0
- package/src/core/project/boundaries.ts +170 -0
- package/src/core/project/capabilities.ts +193 -0
- package/src/core/project/drift.ts +203 -0
- package/src/core/project/infra.ts +196 -0
- package/src/core/project/manifest.ts +402 -0
- package/src/core/project/state.ts +77 -0
- package/src/core/project/validation.ts +295 -0
- package/src/core/project/workflows.ts +295 -0
- package/src/core/scaffold/auth-generator.ts +1824 -0
- package/src/core/scaffold/connector-functions-generator.ts +1133 -0
- package/src/core/scaffold/functions-generator.ts +432 -134
- package/src/core/scaffold/model-parser.ts +244 -90
- package/src/core/scaffold/native-schema-generator.ts +904 -0
- package/src/core/scaffold/nextjs-generator.ts +174 -9
- package/src/core/scaffold/ui-generator.ts +191 -36
- package/src/core/verify/index.ts +468 -0
- package/src/machine/contracts.ts +33 -0
- package/src/machine/errors.ts +45 -0
- package/src/machine/index.ts +690 -0
- package/src/mcp/index.ts +423 -0
- package/src/types/index.ts +137 -0
- package/src/utils/package-manager.ts +41 -19
- package/src/utils/python-uv.ts +96 -0
- package/src/version.ts +13 -0
|
@@ -0,0 +1,566 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMachineCommand = isMachineCommand;
|
|
4
|
+
exports.runMachineCli = runMachineCli;
|
|
5
|
+
const commander_1 = require("commander");
|
|
6
|
+
const config_1 = require("../core/config");
|
|
7
|
+
const create_model_1 = require("../core/operations/create-model");
|
|
8
|
+
const scaffold_apply_1 = require("../core/operations/scaffold-apply");
|
|
9
|
+
const auth_operations_1 = require("../core/operations/auth-operations");
|
|
10
|
+
const provision_operations_1 = require("../core/operations/provision-operations");
|
|
11
|
+
const runtime_1 = require("../core/operations/runtime");
|
|
12
|
+
const infra_1 = require("../core/project/infra");
|
|
13
|
+
const scaffold_machine_1 = require("../core/operations/scaffold-machine");
|
|
14
|
+
const scaffold_plan_1 = require("../core/operations/scaffold-plan");
|
|
15
|
+
const artifacts_1 = require("../core/project/artifacts");
|
|
16
|
+
const boundaries_1 = require("../core/project/boundaries");
|
|
17
|
+
const capabilities_1 = require("../core/project/capabilities");
|
|
18
|
+
const drift_1 = require("../core/project/drift");
|
|
19
|
+
const manifest_1 = require("../core/project/manifest");
|
|
20
|
+
const state_1 = require("../core/project/state");
|
|
21
|
+
const validation_1 = require("../core/project/validation");
|
|
22
|
+
const verify_1 = require("../core/verify");
|
|
23
|
+
const errors_1 = require("./errors");
|
|
24
|
+
/** 最終 JSON envelope 専用の stdout writer。runMachineCli 実行中はこれ以外の stdout 書き込みを stderr へ逃がす。 */
|
|
25
|
+
let machineEnvelopeWrite = null;
|
|
26
|
+
function writeMachineResponse(response) {
|
|
27
|
+
const payload = `${JSON.stringify(response, null, 2)}\n`;
|
|
28
|
+
if (machineEnvelopeWrite) {
|
|
29
|
+
machineEnvelopeWrite(payload);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
process.stdout.write(payload);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function writeMachineSuccess(command, data, meta) {
|
|
36
|
+
const response = {
|
|
37
|
+
ok: true,
|
|
38
|
+
command,
|
|
39
|
+
status: meta?.status ?? "complete",
|
|
40
|
+
...(meta?.nextActions && meta.nextActions.length > 0 ? { nextActions: meta.nextActions } : {}),
|
|
41
|
+
data,
|
|
42
|
+
};
|
|
43
|
+
writeMachineResponse(response);
|
|
44
|
+
}
|
|
45
|
+
function writeMachineError(command, error) {
|
|
46
|
+
const response = {
|
|
47
|
+
ok: false,
|
|
48
|
+
command,
|
|
49
|
+
status: (0, errors_1.resolveMachineErrorStatus)(error),
|
|
50
|
+
error: (0, errors_1.toMachineError)(error),
|
|
51
|
+
};
|
|
52
|
+
writeMachineResponse(response);
|
|
53
|
+
}
|
|
54
|
+
/** 書き込み系操作の前提チェック。プロジェクト外なら明確な blocked エラーを返す。 */
|
|
55
|
+
function ensureProjectForMachine() {
|
|
56
|
+
if (!(0, config_1.isSwallowKitProject)()) {
|
|
57
|
+
throw new errors_1.MachineCommandError("not-a-swallowkit-project", `No SwallowKit project found in ${process.cwd()}. Expected swallowkit.config.js, swallowkit.config.json, or .swallowkitrc.json in the current directory. Run this command from the project root, or create a project with "swallowkit init".`, { cwd: process.cwd() }, "blocked");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* レガシーな人間向けコードパスが process.exit を直接呼んでも、
|
|
62
|
+
* JSON envelope なしにプロセスが死なないようにする安全網。
|
|
63
|
+
* console.error の出力を集めてエラーメッセージとして返す。
|
|
64
|
+
*/
|
|
65
|
+
async function runActionWithExitGuard(action) {
|
|
66
|
+
const capturedErrors = [];
|
|
67
|
+
const originalError = console.error;
|
|
68
|
+
console.error = (...args) => {
|
|
69
|
+
const text = args
|
|
70
|
+
.map((arg) => (typeof arg === "string" ? arg : arg instanceof Error ? arg.stack || arg.message : JSON.stringify(arg)))
|
|
71
|
+
.join(" ");
|
|
72
|
+
capturedErrors.push(text);
|
|
73
|
+
process.stderr.write(`${text}\n`);
|
|
74
|
+
};
|
|
75
|
+
const originalExit = process.exit;
|
|
76
|
+
process.exit = ((code) => {
|
|
77
|
+
const normalized = typeof code === "number" ? code : typeof process.exitCode === "number" ? process.exitCode : 1;
|
|
78
|
+
throw new runtime_1.ProcessExitInterceptError(normalized);
|
|
79
|
+
});
|
|
80
|
+
try {
|
|
81
|
+
return await action();
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (error instanceof runtime_1.ProcessExitInterceptError) {
|
|
85
|
+
const message = capturedErrors
|
|
86
|
+
.map((entry) => entry.replace(/[❌💡]\s*/gu, "").trim())
|
|
87
|
+
.filter((entry) => entry.length > 0)
|
|
88
|
+
.join("\n");
|
|
89
|
+
throw new errors_1.MachineCommandError("operation-aborted", message || `Operation aborted with exit code ${error.exitCode}.`, undefined, "failed");
|
|
90
|
+
}
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
console.error = originalError;
|
|
95
|
+
process.exit = originalExit;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function handleMachineAction(command, action, meta) {
|
|
99
|
+
try {
|
|
100
|
+
const data = await runActionWithExitGuard(action);
|
|
101
|
+
writeMachineSuccess(command, data, meta?.(data));
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
writeMachineError(command, error);
|
|
105
|
+
process.exitCode = 1;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function createMachineProgram() {
|
|
109
|
+
const program = new commander_1.Command();
|
|
110
|
+
program
|
|
111
|
+
.name("swallowkit machine")
|
|
112
|
+
.description("SwallowKit machine-readable CLI for AI and MCP integrations")
|
|
113
|
+
.showHelpAfterError(false);
|
|
114
|
+
const inspect = new commander_1.Command("inspect");
|
|
115
|
+
inspect
|
|
116
|
+
.command("project")
|
|
117
|
+
.description("Inspect SwallowKit project metadata")
|
|
118
|
+
.action(async () => {
|
|
119
|
+
await handleMachineAction("inspect-project", async () => {
|
|
120
|
+
const loaded = await (0, manifest_1.loadProjectManifest)();
|
|
121
|
+
return {
|
|
122
|
+
manifestSource: loaded.source,
|
|
123
|
+
diagnostics: loaded.diagnostics,
|
|
124
|
+
manifest: loaded.manifest,
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
inspect
|
|
129
|
+
.command("entities")
|
|
130
|
+
.description("Inspect SwallowKit entities")
|
|
131
|
+
.action(async () => {
|
|
132
|
+
await handleMachineAction("inspect-entities", async () => {
|
|
133
|
+
const loaded = await (0, manifest_1.loadProjectManifest)();
|
|
134
|
+
return {
|
|
135
|
+
manifestSource: loaded.source,
|
|
136
|
+
diagnostics: loaded.diagnostics,
|
|
137
|
+
entities: loaded.manifest.entities,
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
inspect
|
|
142
|
+
.command("routes")
|
|
143
|
+
.description("Inspect SwallowKit routes")
|
|
144
|
+
.action(async () => {
|
|
145
|
+
await handleMachineAction("inspect-routes", async () => {
|
|
146
|
+
const loaded = await (0, manifest_1.loadProjectManifest)();
|
|
147
|
+
return {
|
|
148
|
+
manifestSource: loaded.source,
|
|
149
|
+
diagnostics: loaded.diagnostics,
|
|
150
|
+
routes: loaded.manifest.routes,
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
inspect
|
|
155
|
+
.command("artifacts")
|
|
156
|
+
.description("Inspect generated artifacts and their ownership from the artifact ledger")
|
|
157
|
+
.action(async () => {
|
|
158
|
+
await handleMachineAction("inspect-artifacts", async () => (0, artifacts_1.inspectArtifacts)());
|
|
159
|
+
});
|
|
160
|
+
inspect
|
|
161
|
+
.command("boundaries")
|
|
162
|
+
.description("Return the responsibility boundary contract between AI free-form authoring and deterministic generation")
|
|
163
|
+
.action(async () => {
|
|
164
|
+
await handleMachineAction("inspect-boundaries", async () => (0, boundaries_1.inspectBoundaries)());
|
|
165
|
+
});
|
|
166
|
+
inspect
|
|
167
|
+
.command("capabilities")
|
|
168
|
+
.description("Return SwallowKit's machine-readable capability contract: model declarations, auth workflow, generated-CRUD scope, seeding, and available commands")
|
|
169
|
+
.action(async () => {
|
|
170
|
+
await handleMachineAction("inspect-capabilities", async () => (0, capabilities_1.inspectCapabilities)());
|
|
171
|
+
});
|
|
172
|
+
inspect
|
|
173
|
+
.command("infra")
|
|
174
|
+
.description("Inspect Bicep infrastructure assets (params, modules, outputs, container wiring) without calling Azure")
|
|
175
|
+
.action(async () => {
|
|
176
|
+
await handleMachineAction("inspect-infra", async () => (0, infra_1.inspectInfra)());
|
|
177
|
+
});
|
|
178
|
+
inspect
|
|
179
|
+
.command("drift")
|
|
180
|
+
.description("Detect drift between generated artifacts and the current project state")
|
|
181
|
+
.action(async () => {
|
|
182
|
+
await handleMachineAction("inspect-drift", async () => (0, drift_1.detectDrift)(), (result) => ({
|
|
183
|
+
status: "complete",
|
|
184
|
+
nextActions: result.findings.length > 0
|
|
185
|
+
? [
|
|
186
|
+
{
|
|
187
|
+
command: "swallowkit machine verify project",
|
|
188
|
+
description: "Run full verification to confirm the project is in a consistent state.",
|
|
189
|
+
},
|
|
190
|
+
]
|
|
191
|
+
: [],
|
|
192
|
+
}));
|
|
193
|
+
});
|
|
194
|
+
const validate = new commander_1.Command("validate");
|
|
195
|
+
validate
|
|
196
|
+
.command("project")
|
|
197
|
+
.description("Validate SwallowKit project metadata and conventions")
|
|
198
|
+
.action(async () => {
|
|
199
|
+
await handleMachineAction("validate-project", async () => (0, validation_1.validateProject)());
|
|
200
|
+
});
|
|
201
|
+
const generate = new commander_1.Command("generate");
|
|
202
|
+
generate
|
|
203
|
+
.command("model")
|
|
204
|
+
.description("Generate model templates with deterministic JSON output")
|
|
205
|
+
.argument("<names...>", "Model names to generate")
|
|
206
|
+
.option("--models-dir <dir>", "Models directory", "shared/models")
|
|
207
|
+
.option("--connector <name>", "Associate the models with a configured connector")
|
|
208
|
+
.option("--overwrite <mode>", "Overwrite policy: always | never", "never")
|
|
209
|
+
.action(async (names, options) => {
|
|
210
|
+
await handleMachineAction("generate-model", async () => {
|
|
211
|
+
ensureProjectForMachine();
|
|
212
|
+
if (options.overwrite !== "always" && options.overwrite !== "never") {
|
|
213
|
+
throw new errors_1.MachineCommandError("invalid-overwrite-mode", `Unsupported overwrite mode: ${options.overwrite}. Use "always" or "never".`);
|
|
214
|
+
}
|
|
215
|
+
return (0, create_model_1.createModelOperation)({
|
|
216
|
+
names,
|
|
217
|
+
modelsDir: options.modelsDir,
|
|
218
|
+
connector: options.connector,
|
|
219
|
+
overwriteMode: options.overwrite,
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
generate
|
|
224
|
+
.command("scaffold")
|
|
225
|
+
.description("Generate scaffold artifacts with deterministic JSON output")
|
|
226
|
+
.argument("<model>", "Model file or model name")
|
|
227
|
+
.option("--functions-dir <dir>", "Functions directory", "functions")
|
|
228
|
+
.option("--api-dir <dir>", "API routes directory", "app/api")
|
|
229
|
+
.option("--api-only", "Skip UI components; still update Functions, BFF routes, OpenAPI, and native schema assets", false)
|
|
230
|
+
.action(async (model, options) => {
|
|
231
|
+
await handleMachineAction("generate-scaffold", async () => {
|
|
232
|
+
ensureProjectForMachine();
|
|
233
|
+
return (0, scaffold_machine_1.runMachineScaffoldOperation)({
|
|
234
|
+
model,
|
|
235
|
+
functionsDir: options.functionsDir,
|
|
236
|
+
apiDir: options.apiDir,
|
|
237
|
+
apiOnly: options.apiOnly,
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
const plan = new commander_1.Command("plan");
|
|
242
|
+
plan
|
|
243
|
+
.command("scaffold")
|
|
244
|
+
.description("Compute the scaffold change plan without writing any files (accepts multiple models)")
|
|
245
|
+
.argument("<models...>", "Model files or model names")
|
|
246
|
+
.option("--functions-dir <dir>", "Functions directory", "functions")
|
|
247
|
+
.option("--api-dir <dir>", "API routes directory", "app/api")
|
|
248
|
+
.option("--api-only", "Skip UI components in the plan", false)
|
|
249
|
+
.action(async (models, options) => {
|
|
250
|
+
await handleMachineAction("plan-scaffold", async () => {
|
|
251
|
+
ensureProjectForMachine();
|
|
252
|
+
const plans = [];
|
|
253
|
+
for (const model of models) {
|
|
254
|
+
plans.push(await (0, scaffold_plan_1.planScaffoldOperation)({
|
|
255
|
+
model,
|
|
256
|
+
functionsDir: options.functionsDir,
|
|
257
|
+
apiDir: options.apiDir,
|
|
258
|
+
apiOnly: options.apiOnly,
|
|
259
|
+
}));
|
|
260
|
+
}
|
|
261
|
+
return plans.length === 1 ? plans[0] : { planType: "scaffold-batch", plans };
|
|
262
|
+
}, (data) => {
|
|
263
|
+
const plans = "plans" in data ? data.plans : [data];
|
|
264
|
+
return {
|
|
265
|
+
status: plans.some((planData) => planData.requiresApproval) ? "requires-human" : "complete",
|
|
266
|
+
nextActions: plans.map((planData) => ({
|
|
267
|
+
command: `swallowkit machine apply scaffold --plan ${planData.planId}${planData.requiresApproval ? " --approve" : ""}`,
|
|
268
|
+
description: planData.requiresApproval
|
|
269
|
+
? `Apply the plan for ${planData.model} after reviewing the listed conflicts (requires --approve).`
|
|
270
|
+
: `Apply the plan for ${planData.model}.`,
|
|
271
|
+
})),
|
|
272
|
+
};
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
plan
|
|
276
|
+
.command("auth")
|
|
277
|
+
.description("Compute the add-auth change plan without writing any files")
|
|
278
|
+
.requiredOption("--provider <provider>", "Auth provider: custom-jwt | swa | external-token | none")
|
|
279
|
+
.option("--scheme <name>", "Add as a named authentication scheme")
|
|
280
|
+
.option("--allowed-providers <list>", "Comma-separated SWA identity providers to allow (e.g. github,aad); defaults to aad")
|
|
281
|
+
.action(async (options) => {
|
|
282
|
+
await handleMachineAction("plan-auth", async () => {
|
|
283
|
+
ensureProjectForMachine();
|
|
284
|
+
return (0, auth_operations_1.planAuthOperation)({
|
|
285
|
+
provider: options.provider,
|
|
286
|
+
scheme: options.scheme,
|
|
287
|
+
allowedProviders: options.allowedProviders ? options.allowedProviders.split(",") : undefined,
|
|
288
|
+
});
|
|
289
|
+
}, (planData) => ({
|
|
290
|
+
status: planData.requiresApproval ? "requires-human" : "complete",
|
|
291
|
+
nextActions: [
|
|
292
|
+
{
|
|
293
|
+
command: `swallowkit machine apply auth --plan ${planData.planId}${planData.requiresApproval ? " --approve" : ""}`,
|
|
294
|
+
description: planData.requiresApproval
|
|
295
|
+
? "Apply the plan after reviewing the listed conflicts (requires --approve)."
|
|
296
|
+
: "Apply the plan.",
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
}));
|
|
300
|
+
});
|
|
301
|
+
plan
|
|
302
|
+
.command("provision")
|
|
303
|
+
.description("Preflight Azure provisioning locally; use --what-if for an az what-if analysis (requires az login)")
|
|
304
|
+
.requiredOption("-g, --resource-group <name>", "Resource group name")
|
|
305
|
+
.requiredOption("--location <region>", "Primary location for Functions and Cosmos DB")
|
|
306
|
+
.requiredOption("--swa-location <region>", "Static Web App location")
|
|
307
|
+
.option("--subscription <id>", "Azure subscription GUID")
|
|
308
|
+
.option("--what-if", "Run az deployment group what-if (requires az login)", false)
|
|
309
|
+
.action(async (options) => {
|
|
310
|
+
await handleMachineAction("plan-provision", async () => {
|
|
311
|
+
ensureProjectForMachine();
|
|
312
|
+
return (0, provision_operations_1.planProvisionOperation)({
|
|
313
|
+
resourceGroup: options.resourceGroup,
|
|
314
|
+
location: options.location,
|
|
315
|
+
swaLocation: options.swaLocation,
|
|
316
|
+
subscription: options.subscription,
|
|
317
|
+
whatIf: options.whatIf,
|
|
318
|
+
});
|
|
319
|
+
}, (planData) => ({
|
|
320
|
+
status: "requires-human",
|
|
321
|
+
nextActions: [
|
|
322
|
+
{
|
|
323
|
+
command: `swallowkit machine apply provision --plan ${planData.planId} --approve`,
|
|
324
|
+
description: "Provisioning creates billable Azure resources. A human must review plan.commands and approve before applying.",
|
|
325
|
+
},
|
|
326
|
+
],
|
|
327
|
+
}));
|
|
328
|
+
});
|
|
329
|
+
const apply = new commander_1.Command("apply");
|
|
330
|
+
apply
|
|
331
|
+
.command("scaffold")
|
|
332
|
+
.description("Apply scaffold changes, verifying plan freshness and overwrite approval (accepts multiple models)")
|
|
333
|
+
.argument("[models...]", "Model files or model names (optional when --plan is given)")
|
|
334
|
+
.option("--plan <planId>", "Apply a previously computed plan")
|
|
335
|
+
.option("--approve", "Approve overwriting files that were modified after generation", false)
|
|
336
|
+
.option("--functions-dir <dir>", "Functions directory")
|
|
337
|
+
.option("--api-dir <dir>", "API routes directory")
|
|
338
|
+
.option("--api-only", "Skip UI components; still update Functions, BFF routes, OpenAPI, and native schema assets")
|
|
339
|
+
.action(async (models, options) => {
|
|
340
|
+
await handleMachineAction("apply-scaffold", async () => {
|
|
341
|
+
ensureProjectForMachine();
|
|
342
|
+
if (models.length > 1 && options.plan) {
|
|
343
|
+
throw new errors_1.MachineCommandError("invalid-arguments", "--plan applies to a single model. Pass multiple models without --plan (each apply re-plans internally), or apply each plan separately.", undefined, "failed");
|
|
344
|
+
}
|
|
345
|
+
if (models.length <= 1) {
|
|
346
|
+
return (0, scaffold_apply_1.applyScaffoldOperation)({
|
|
347
|
+
model: models[0],
|
|
348
|
+
planId: options.plan,
|
|
349
|
+
approve: options.approve,
|
|
350
|
+
functionsDir: options.functionsDir,
|
|
351
|
+
apiDir: options.apiDir,
|
|
352
|
+
apiOnly: options.apiOnly,
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
const results = [];
|
|
356
|
+
for (const model of models) {
|
|
357
|
+
results.push(await (0, scaffold_apply_1.applyScaffoldOperation)({
|
|
358
|
+
model,
|
|
359
|
+
approve: options.approve,
|
|
360
|
+
functionsDir: options.functionsDir,
|
|
361
|
+
apiDir: options.apiDir,
|
|
362
|
+
apiOnly: options.apiOnly,
|
|
363
|
+
}));
|
|
364
|
+
}
|
|
365
|
+
return { applyType: "scaffold-batch", results };
|
|
366
|
+
}, () => ({
|
|
367
|
+
status: "complete",
|
|
368
|
+
nextActions: [
|
|
369
|
+
{
|
|
370
|
+
command: "swallowkit machine verify project",
|
|
371
|
+
description: "Verify the project after applying scaffold changes.",
|
|
372
|
+
},
|
|
373
|
+
],
|
|
374
|
+
}));
|
|
375
|
+
});
|
|
376
|
+
apply
|
|
377
|
+
.command("auth")
|
|
378
|
+
.description("Apply add-auth changes, verifying plan freshness and overwrite approval")
|
|
379
|
+
.option("--plan <planId>", "Apply a previously computed plan")
|
|
380
|
+
.option("--provider <provider>", "Auth provider (optional when --plan is given)")
|
|
381
|
+
.option("--scheme <name>", "Add as a named authentication scheme")
|
|
382
|
+
.option("--allowed-providers <list>", "Comma-separated SWA identity providers to allow (e.g. github,aad); defaults to aad")
|
|
383
|
+
.option("--approve", "Approve overwriting files that were modified after generation", false)
|
|
384
|
+
.action(async (options) => {
|
|
385
|
+
await handleMachineAction("apply-auth", async () => {
|
|
386
|
+
ensureProjectForMachine();
|
|
387
|
+
return (0, auth_operations_1.applyAuthOperation)({
|
|
388
|
+
provider: options.provider,
|
|
389
|
+
scheme: options.scheme,
|
|
390
|
+
allowedProviders: options.allowedProviders ? options.allowedProviders.split(",") : undefined,
|
|
391
|
+
planId: options.plan,
|
|
392
|
+
approve: options.approve,
|
|
393
|
+
});
|
|
394
|
+
}, (result) => {
|
|
395
|
+
const configTarget = result.scheme
|
|
396
|
+
? `auth.authorization.policies (reference scheme "${result.scheme}")`
|
|
397
|
+
: "auth.authorization.policies";
|
|
398
|
+
const nextActions = [];
|
|
399
|
+
if (result.provider !== "none") {
|
|
400
|
+
nextActions.push({
|
|
401
|
+
command: "edit swallowkit.config.js",
|
|
402
|
+
description: `Define ${configTarget}. The config is an extension point: hand-editing policies is the expected workflow. Do NOT hand-write auth.schemes entries; only plan/apply auth may add schemes.`,
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
if (result.provider === "swa") {
|
|
406
|
+
nextActions.push({
|
|
407
|
+
command: "edit swallowkit.config.js",
|
|
408
|
+
description: `Confirm swa.allowedProviders${result.scheme ? ` for scheme "${result.scheme}"` : ""} lists the identity providers you use (e.g. ['github']). Generated login URLs and provider checks use this list; it can also be set at plan time with --allowed-providers.`,
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
if (result.provider === "external-token") {
|
|
412
|
+
nextActions.push({
|
|
413
|
+
command: "edit the generated external token verifier",
|
|
414
|
+
description: "Implement the verifier stub (it fails closed until implemented). typecheck and verify pass with the stub in place, so a passing verify does NOT mean external-token auth works.",
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
nextActions.push({
|
|
418
|
+
command: "swallowkit machine verify project",
|
|
419
|
+
description: "Verify the project after applying auth changes.",
|
|
420
|
+
});
|
|
421
|
+
return { status: "complete", nextActions };
|
|
422
|
+
});
|
|
423
|
+
});
|
|
424
|
+
apply
|
|
425
|
+
.command("provision")
|
|
426
|
+
.description("Apply an approved provisioning plan (always requires --approve; creates billable Azure resources)")
|
|
427
|
+
.requiredOption("--plan <planId>", "Provision plan to apply")
|
|
428
|
+
.option("--approve", "Confirm human approval of the provisioning plan", false)
|
|
429
|
+
.action(async (options) => {
|
|
430
|
+
await handleMachineAction("apply-provision", async () => {
|
|
431
|
+
ensureProjectForMachine();
|
|
432
|
+
return (0, provision_operations_1.applyProvisionOperation)({ planId: options.plan, approve: options.approve });
|
|
433
|
+
}, () => ({
|
|
434
|
+
status: "complete",
|
|
435
|
+
nextActions: [
|
|
436
|
+
{
|
|
437
|
+
command: "swallowkit machine inspect infra",
|
|
438
|
+
description: "Re-inspect infra assets after provisioning.",
|
|
439
|
+
},
|
|
440
|
+
],
|
|
441
|
+
}));
|
|
442
|
+
});
|
|
443
|
+
const verify = new commander_1.Command("verify");
|
|
444
|
+
verify
|
|
445
|
+
.command("project")
|
|
446
|
+
.description("Run verification checks (structure, drift, typecheck) with machine-readable evidence")
|
|
447
|
+
.option("--checks <ids>", "Comma-separated check ids to run (structure,drift,typecheck,build,lint,test, plus custom ids from swallowkit.config verify.checks)")
|
|
448
|
+
.option("--compact", "Suppress info-severity findings/violations from evidence to keep agent-facing output small", false)
|
|
449
|
+
.action(async (options) => {
|
|
450
|
+
await handleMachineAction("verify-project", async () => {
|
|
451
|
+
const result = await (0, verify_1.runVerify)(options.checks ? options.checks.split(",") : undefined);
|
|
452
|
+
return options.compact ? (0, verify_1.compactVerifyResult)(result) : result;
|
|
453
|
+
}, (result) => ({
|
|
454
|
+
status: result.summary.done ? "complete" : "in-progress",
|
|
455
|
+
nextActions: result.summary.done
|
|
456
|
+
? []
|
|
457
|
+
: [
|
|
458
|
+
{
|
|
459
|
+
command: "swallowkit machine explain failure",
|
|
460
|
+
description: "Get evidence and suggested actions for the failed checks.",
|
|
461
|
+
},
|
|
462
|
+
],
|
|
463
|
+
}));
|
|
464
|
+
});
|
|
465
|
+
const explain = new commander_1.Command("explain");
|
|
466
|
+
explain
|
|
467
|
+
.command("failure")
|
|
468
|
+
.description("Explain failures from the most recent verify run")
|
|
469
|
+
.option("--check <id>", "Explain a specific check id")
|
|
470
|
+
.action(async (options) => {
|
|
471
|
+
await handleMachineAction("explain-failure", async () => {
|
|
472
|
+
const lastVerify = (0, state_1.loadLastVerifyState)();
|
|
473
|
+
if (!lastVerify) {
|
|
474
|
+
throw new errors_1.MachineCommandError("no-verification-result", 'No verify result found. Run "swallowkit machine verify project" first.', undefined, "blocked");
|
|
475
|
+
}
|
|
476
|
+
try {
|
|
477
|
+
return {
|
|
478
|
+
verifiedAt: lastVerify.verifiedAt,
|
|
479
|
+
failures: (0, verify_1.explainVerifyFailure)(lastVerify, options.check),
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
catch (error) {
|
|
483
|
+
throw new errors_1.MachineCommandError("unknown-check", error instanceof Error ? error.message : String(error), { check: options.check }, "failed");
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
});
|
|
487
|
+
program.addCommand(inspect);
|
|
488
|
+
program.addCommand(validate);
|
|
489
|
+
program.addCommand(generate);
|
|
490
|
+
program.addCommand(plan);
|
|
491
|
+
program.addCommand(apply);
|
|
492
|
+
program.addCommand(verify);
|
|
493
|
+
program.addCommand(explain);
|
|
494
|
+
return program;
|
|
495
|
+
}
|
|
496
|
+
function isMachineCommand(argv) {
|
|
497
|
+
return argv[2] === "machine";
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* すべてのコマンド階層に exitOverride と出力キャプチャを適用する。
|
|
501
|
+
* commander の addCommand は親の出力設定を継承しないため、再帰的に設定する。
|
|
502
|
+
*/
|
|
503
|
+
function applyMachineOutputSettings(command, sink) {
|
|
504
|
+
command.exitOverride();
|
|
505
|
+
command.showHelpAfterError(false);
|
|
506
|
+
command.configureOutput({
|
|
507
|
+
writeErr: (str) => {
|
|
508
|
+
sink.text += str;
|
|
509
|
+
},
|
|
510
|
+
writeOut: (str) => {
|
|
511
|
+
sink.text += str;
|
|
512
|
+
},
|
|
513
|
+
});
|
|
514
|
+
for (const sub of command.commands) {
|
|
515
|
+
applyMachineOutputSettings(sub, sink);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
async function runMachineCli(argv = process.argv) {
|
|
519
|
+
const program = createMachineProgram();
|
|
520
|
+
const commanderOutput = { text: "" };
|
|
521
|
+
applyMachineOutputSettings(program, commanderOutput);
|
|
522
|
+
// Keep stdout reserved for the single JSON envelope: any console output
|
|
523
|
+
// produced by underlying operations (e.g. config-load logs) goes to stderr.
|
|
524
|
+
// A hard guard on process.stdout.write catches direct writes that bypass console.
|
|
525
|
+
const originalLog = console.log;
|
|
526
|
+
const originalInfo = console.info;
|
|
527
|
+
const originalWarn = console.warn;
|
|
528
|
+
const previousStdoutWrite = process.stdout.write;
|
|
529
|
+
const boundStdoutWrite = previousStdoutWrite.bind(process.stdout);
|
|
530
|
+
machineEnvelopeWrite = (chunk) => {
|
|
531
|
+
boundStdoutWrite(chunk);
|
|
532
|
+
};
|
|
533
|
+
process.stdout.write = ((chunk, ...rest) => process.stderr.write(chunk, ...rest));
|
|
534
|
+
const toStderr = (...args) => {
|
|
535
|
+
process.stderr.write(`${args.map((arg) => (typeof arg === "string" ? arg : JSON.stringify(arg))).join(" ")}\n`);
|
|
536
|
+
};
|
|
537
|
+
console.log = toStderr;
|
|
538
|
+
console.info = toStderr;
|
|
539
|
+
console.warn = toStderr;
|
|
540
|
+
try {
|
|
541
|
+
await program.parseAsync(argv.slice(3), { from: "user" });
|
|
542
|
+
}
|
|
543
|
+
catch (error) {
|
|
544
|
+
if (error instanceof commander_1.CommanderError) {
|
|
545
|
+
const capturedText = commanderOutput.text.trim();
|
|
546
|
+
if (error.code === "commander.helpDisplayed" || error.code === "commander.help") {
|
|
547
|
+
// --help / help は正常応答として usage を JSON envelope で返す
|
|
548
|
+
writeMachineSuccess("machine-help", { help: capturedText });
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
writeMachineError("machine-parse", new errors_1.MachineCommandError("invalid-command", error.message, capturedText ? { usage: capturedText } : undefined));
|
|
552
|
+
process.exitCode = Number.isFinite(error.exitCode) && error.exitCode !== 0 ? error.exitCode : 1;
|
|
553
|
+
return;
|
|
554
|
+
}
|
|
555
|
+
writeMachineError("machine-parse", error);
|
|
556
|
+
process.exitCode = 1;
|
|
557
|
+
}
|
|
558
|
+
finally {
|
|
559
|
+
console.log = originalLog;
|
|
560
|
+
console.info = originalInfo;
|
|
561
|
+
console.warn = originalWarn;
|
|
562
|
+
process.stdout.write = previousStdoutWrite;
|
|
563
|
+
machineEnvelopeWrite = null;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/machine/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import * as z from "zod/v4";
|
|
4
|
+
type MachineCliRunner = (args: string[]) => Promise<{
|
|
5
|
+
stdout: string;
|
|
6
|
+
stderr: string;
|
|
7
|
+
exitCode: number;
|
|
8
|
+
}>;
|
|
9
|
+
type ToolContentResult = {
|
|
10
|
+
content: Array<{
|
|
11
|
+
type: "text";
|
|
12
|
+
text: string;
|
|
13
|
+
}>;
|
|
14
|
+
};
|
|
15
|
+
type ToolDefinition = {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
inputSchema: z.ZodTypeAny;
|
|
19
|
+
handler: (input: any) => Promise<ToolContentResult>;
|
|
20
|
+
};
|
|
21
|
+
export declare function buildSwallowKitToolDefinitions(runMachineCli?: MachineCliRunner): ToolDefinition[];
|
|
22
|
+
export declare function createSwallowKitMcpServer(runMachineCli?: MachineCliRunner): McpServer;
|
|
23
|
+
export declare function runMcpServer(): Promise<void>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAY5B,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC1G,KAAK,iBAAiB,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAC5E,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrD,CAAC;AAqFF,wBAAgB,8BAA8B,CAC5C,aAAa,GAAE,gBAA0C,GACxD,cAAc,EAAE,CAoRlB;AAED,wBAAgB,yBAAyB,CAAC,aAAa,GAAE,gBAA0C,GAAG,SAAS,CAmB9G;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAKlD"}
|