swallowkit 2.0.0-alpha.4 → 2.0.0-alpha.6

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.
Files changed (113) hide show
  1. package/dist/cli/commands/add-auth.js +37 -6
  2. package/dist/cli/commands/add-auth.js.map +1 -1
  3. package/dist/cli/commands/init.d.ts +2 -0
  4. package/dist/cli/commands/init.d.ts.map +1 -1
  5. package/dist/cli/commands/init.js +3 -1
  6. package/dist/cli/commands/init.js.map +1 -1
  7. package/dist/cli/commands/provision.d.ts +2 -1
  8. package/dist/cli/commands/provision.d.ts.map +1 -1
  9. package/dist/cli/commands/provision.js +66 -4
  10. package/dist/cli/commands/provision.js.map +1 -1
  11. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  12. package/dist/cli/commands/scaffold.js +45 -1
  13. package/dist/cli/commands/scaffold.js.map +1 -1
  14. package/dist/cli/index.d.ts.map +1 -1
  15. package/dist/cli/index.js +15 -2
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/core/operations/create-model.d.ts +2 -0
  18. package/dist/core/operations/create-model.d.ts.map +1 -1
  19. package/dist/core/operations/create-model.js +60 -8
  20. package/dist/core/operations/create-model.js.map +1 -1
  21. package/dist/core/operations/provision-deployment.d.ts +45 -0
  22. package/dist/core/operations/provision-deployment.d.ts.map +1 -0
  23. package/dist/core/operations/provision-deployment.js +151 -0
  24. package/dist/core/operations/provision-deployment.js.map +1 -0
  25. package/dist/core/operations/provision-operations.d.ts +39 -5
  26. package/dist/core/operations/provision-operations.d.ts.map +1 -1
  27. package/dist/core/operations/provision-operations.js +609 -103
  28. package/dist/core/operations/provision-operations.js.map +1 -1
  29. package/dist/core/project/boundaries.js +3 -3
  30. package/dist/core/project/boundaries.js.map +1 -1
  31. package/dist/core/project/capabilities.d.ts +9 -0
  32. package/dist/core/project/capabilities.d.ts.map +1 -1
  33. package/dist/core/project/capabilities.js +20 -6
  34. package/dist/core/project/capabilities.js.map +1 -1
  35. package/dist/core/project/react-project.js +1 -1
  36. package/dist/core/project/state.d.ts +7 -0
  37. package/dist/core/project/state.d.ts.map +1 -1
  38. package/dist/core/project/state.js +86 -0
  39. package/dist/core/project/state.js.map +1 -1
  40. package/dist/core/project/workflows.d.ts.map +1 -1
  41. package/dist/core/project/workflows.js +43 -7
  42. package/dist/core/project/workflows.js.map +1 -1
  43. package/dist/core/scaffold/auth-generator.d.ts.map +1 -1
  44. package/dist/core/scaffold/auth-generator.js +18 -19
  45. package/dist/core/scaffold/auth-generator.js.map +1 -1
  46. package/dist/core/scaffold/native-schema-generator.d.ts +2 -0
  47. package/dist/core/scaffold/native-schema-generator.d.ts.map +1 -1
  48. package/dist/core/scaffold/native-schema-generator.js +16 -1
  49. package/dist/core/scaffold/native-schema-generator.js.map +1 -1
  50. package/dist/core/verify/index.d.ts +4 -3
  51. package/dist/core/verify/index.d.ts.map +1 -1
  52. package/dist/core/verify/index.js +98 -4
  53. package/dist/core/verify/index.js.map +1 -1
  54. package/dist/machine/contracts.d.ts +1 -0
  55. package/dist/machine/contracts.d.ts.map +1 -1
  56. package/dist/machine/errors.d.ts +3 -2
  57. package/dist/machine/errors.d.ts.map +1 -1
  58. package/dist/machine/errors.js +2 -1
  59. package/dist/machine/errors.js.map +1 -1
  60. package/dist/machine/index.d.ts.map +1 -1
  61. package/dist/machine/index.js +20 -13
  62. package/dist/machine/index.js.map +1 -1
  63. package/dist/mcp/index.d.ts +3 -2
  64. package/dist/mcp/index.d.ts.map +1 -1
  65. package/dist/mcp/index.js +76 -15
  66. package/dist/mcp/index.js.map +1 -1
  67. package/dist/utils/azure-cli.d.ts +16 -4
  68. package/dist/utils/azure-cli.d.ts.map +1 -1
  69. package/dist/utils/azure-cli.js +166 -4
  70. package/dist/utils/azure-cli.js.map +1 -1
  71. package/dist/utils/azure-diagnostics.d.ts +16 -0
  72. package/dist/utils/azure-diagnostics.d.ts.map +1 -0
  73. package/dist/utils/azure-diagnostics.js +68 -0
  74. package/dist/utils/azure-diagnostics.js.map +1 -0
  75. package/package.json +6 -3
  76. package/src/__tests__/__snapshots__/boundaries.test.ts.snap +6 -6
  77. package/src/__tests__/agent-instructions.test.ts +3 -0
  78. package/src/__tests__/agent-loop-phase34.test.ts +114 -8
  79. package/src/__tests__/azure-cli.test.ts +5 -2
  80. package/src/__tests__/fixtures/az wrapper.cmd +2 -0
  81. package/src/__tests__/fixtures/azure-cli.cjs +130 -0
  82. package/src/__tests__/fixtures/provision-runner.cjs +28 -0
  83. package/src/__tests__/generated-project-matrix.test.ts +789 -0
  84. package/src/__tests__/mcp.test.ts +71 -0
  85. package/src/__tests__/multi-auth.test.ts +115 -4
  86. package/src/__tests__/plan-apply.test.ts +111 -0
  87. package/src/__tests__/provision-runtime.test.ts +562 -0
  88. package/src/cli/commands/add-auth.ts +36 -6
  89. package/src/cli/commands/init.ts +4 -4
  90. package/src/cli/commands/provision.ts +69 -5
  91. package/src/cli/commands/scaffold.ts +65 -1
  92. package/src/cli/index.ts +12 -2
  93. package/src/core/operations/create-model.ts +51 -13
  94. package/src/core/operations/provision-deployment.ts +167 -0
  95. package/src/core/operations/provision-operations.ts +597 -145
  96. package/src/core/project/agent-templates/AGENTS.md +46 -3
  97. package/src/core/project/agent-templates/CLAUDE.md +9 -0
  98. package/src/core/project/agent-templates/copilot-instructions.md +10 -0
  99. package/src/core/project/agent-templates/shared-models.instructions.md +11 -3
  100. package/src/core/project/boundaries.ts +3 -3
  101. package/src/core/project/capabilities.ts +29 -6
  102. package/src/core/project/react-project.ts +1 -1
  103. package/src/core/project/state.ts +70 -0
  104. package/src/core/project/workflows.ts +43 -7
  105. package/src/core/scaffold/auth-generator.ts +18 -19
  106. package/src/core/scaffold/native-schema-generator.ts +16 -0
  107. package/src/core/verify/index.ts +95 -5
  108. package/src/machine/contracts.ts +1 -0
  109. package/src/machine/errors.ts +4 -2
  110. package/src/machine/index.ts +23 -16
  111. package/src/mcp/index.ts +68 -20
  112. package/src/utils/azure-cli.ts +167 -6
  113. package/src/utils/azure-diagnostics.ts +75 -0
@@ -33,8 +33,10 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.updateSharedIndex = updateSharedIndex;
36
37
  exports.createModelOperation = createModelOperation;
37
38
  const path = __importStar(require("path"));
39
+ const ts = __importStar(require("typescript"));
38
40
  const config_1 = require("../config");
39
41
  const model_parser_1 = require("../scaffold/model-parser");
40
42
  const manifest_1 = require("../project/manifest");
@@ -103,17 +105,67 @@ export const connectorConfig = {
103
105
  };
104
106
  `;
105
107
  }
106
- function updateSharedIndex(kebabName, pascalName, session) {
108
+ function updateSharedIndex(modelPath, schemaName, session) {
107
109
  const indexPath = path.join(process.cwd(), "shared", "index.ts");
108
- if (!session.fileExists(indexPath)) {
109
- return false;
110
+ session.registerInput(indexPath);
111
+ const content = session.fileExists(indexPath) ? session.readFile(indexPath) : "";
112
+ const modulePath = `./${path.relative(path.dirname(indexPath), modelPath).replace(/\\/g, "/").replace(/\.ts$/, "")}`;
113
+ const source = ts.createSourceFile(indexPath, content, ts.ScriptTarget.Latest, true);
114
+ // Text edits that turn a type-only re-export of this schema into nothing (a value export of the same
115
+ // name also exports its type); keeping both would be a duplicate-identifier error.
116
+ const edits = [];
117
+ let hasValueExport = false;
118
+ for (const statement of source.statements) {
119
+ if (!ts.isExportDeclaration(statement) || !statement.moduleSpecifier || !ts.isStringLiteral(statement.moduleSpecifier))
120
+ continue;
121
+ const exportedPath = statement.moduleSpecifier.text.replace(/\.(ts|js)$/, "");
122
+ if (exportedPath !== modulePath)
123
+ continue;
124
+ if (!statement.exportClause) {
125
+ if (!statement.isTypeOnly)
126
+ hasValueExport = true;
127
+ continue;
128
+ }
129
+ if (!ts.isNamedExports(statement.exportClause))
130
+ continue;
131
+ const elements = statement.exportClause.elements;
132
+ const matches = elements.filter((element) => element.name.text === schemaName && (element.propertyName?.text ?? element.name.text) === schemaName);
133
+ for (const element of matches) {
134
+ if (!statement.isTypeOnly && !element.isTypeOnly) {
135
+ hasValueExport = true;
136
+ }
137
+ else if (!statement.isTypeOnly) {
138
+ // export { type Todo } -> export { Todo }
139
+ edits.push({ start: element.getStart(source), end: element.getEnd(), text: schemaName });
140
+ hasValueExport = true;
141
+ }
142
+ else if (elements.length === 1) {
143
+ let end = statement.getEnd();
144
+ if (content.slice(end, end + 2) === "\r\n")
145
+ end += 2;
146
+ else if (content[end] === "\n")
147
+ end += 1;
148
+ edits.push({ start: statement.getStart(source), end, text: "" });
149
+ }
150
+ else {
151
+ const index = elements.indexOf(element);
152
+ const start = index === 0 ? element.getStart(source) : elements[index - 1].getEnd();
153
+ const end = index === 0 ? elements[index + 1].getStart(source) : element.getEnd();
154
+ edits.push({ start, end, text: "" });
155
+ }
156
+ }
157
+ }
158
+ let updated = content;
159
+ for (const edit of edits.sort((left, right) => right.start - left.start)) {
160
+ updated = `${updated.slice(0, edit.start)}${edit.text}${updated.slice(edit.end)}`;
110
161
  }
111
- const content = session.readFile(indexPath);
112
- const exportLine = `export { ${pascalName} } from './models/${kebabName}';`;
113
- if (content.includes(exportLine)) {
162
+ if (hasValueExport && updated === content)
114
163
  return false;
164
+ if (!hasValueExport) {
165
+ const exportLine = `export { ${schemaName} } from '${modulePath}';`;
166
+ updated = `${updated}${updated && !updated.endsWith("\n") ? "\n" : ""}${exportLine}\n`;
115
167
  }
116
- session.writeFile(indexPath, `${content}${exportLine}\n`, {
168
+ session.writeFile(indexPath, updated, {
117
169
  ownership: "extension-point",
118
170
  generator: CREATE_MODEL_GENERATOR,
119
171
  });
@@ -167,7 +219,7 @@ async function createModelOperation(options) {
167
219
  sourceModel: pascalName,
168
220
  });
169
221
  createdFiles.push(filePath.replace(/\\/g, "/"));
170
- if (updateSharedIndex(kebabName, pascalName, session)) {
222
+ if (updateSharedIndex(resolveFromRoot(filePath), pascalName, session)) {
171
223
  updatedIndex = true;
172
224
  }
173
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-model.js","sourceRoot":"","sources":["../../../src/core/operations/create-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-model.js","sourceRoot":"","sources":["../../../src/core/operations/create-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { AzureCliDiagnostic } from "../../utils/azure-diagnostics";
2
+ export declare const DEPLOYMENT_QUERY = "{id:id,name:name,state:properties.provisioningState,correlationId:properties.correlationId,templateHash:properties.templateHash,timestamp:properties.timestamp,error:properties.error}";
3
+ export declare const DEFAULT_PROVISION_WAIT_SECONDS = 300;
4
+ export declare const MAX_PROVISION_WAIT_SECONDS = 3600;
5
+ export interface DeploymentReference {
6
+ subscription: string;
7
+ resourceGroup: string;
8
+ name: string;
9
+ id?: string;
10
+ correlationId?: string;
11
+ templateHash?: string;
12
+ /** Do not mistake a previous deployment under the same name for this submission. */
13
+ previousCorrelationId?: string;
14
+ }
15
+ export interface AzureDeploymentError {
16
+ code: string;
17
+ message: string;
18
+ }
19
+ export interface DeploymentObservation {
20
+ state: "Accepted" | "Running" | "Succeeded" | "Failed" | "Canceled" | "unknown";
21
+ reference: DeploymentReference;
22
+ reason?: "not-found" | "query-failed" | "invalid-response" | "identity-changed" | "not-yet-observed" | "cancelled";
23
+ errors: AzureDeploymentError[];
24
+ diagnostic: AzureCliDiagnostic;
25
+ }
26
+ export declare function extractAzureErrors(value: unknown, secretValues?: readonly string[]): AzureDeploymentError[];
27
+ export declare function deploymentId(reference: DeploymentReference): string;
28
+ export declare function queryAzureDeployment(reference: DeploymentReference, options?: {
29
+ timeoutMs?: number;
30
+ signal?: AbortSignal;
31
+ secretValues?: readonly string[];
32
+ }): Promise<DeploymentObservation>;
33
+ export declare function waitForAzureDeployment(reference: DeploymentReference, options: {
34
+ deadline: number;
35
+ signal?: AbortSignal;
36
+ pollIntervalMs?: number;
37
+ onObservation?: (observation: DeploymentObservation) => void;
38
+ secretValues?: readonly string[];
39
+ queryTimeoutMs?: number;
40
+ }): Promise<DeploymentObservation>;
41
+ export declare function queryDeploymentOperationErrors(reference: DeploymentReference, secretValues?: readonly string[], signal?: AbortSignal): Promise<{
42
+ errors: AzureDeploymentError[];
43
+ diagnostic: AzureCliDiagnostic;
44
+ }>;
45
+ //# sourceMappingURL=provision-deployment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision-deployment.d.ts","sourceRoot":"","sources":["../../../src/core/operations/provision-deployment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAuC,MAAM,+BAA+B,CAAC;AAExG,eAAO,MAAM,gBAAgB,2LAA2L,CAAC;AACzN,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAChF,SAAS,EAAE,mBAAmB,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,WAAW,CAAC;IACnH,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,GAAE,SAAS,MAAM,EAAO,GAAG,oBAAoB,EAAE,CAkB/G;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,CAEnE;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAC3F,OAAO,CAAC,qBAAqB,CAAC,CA6ChC;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7D,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,qBAAqB,CAAC,CA2BhC;AAED,wBAAsB,8BAA8B,CAAC,SAAS,EAAE,mBAAmB,EAAE,YAAY,GAAE,SAAS,MAAM,EAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IACxJ,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,UAAU,EAAE,kBAAkB,CAAC;CAChC,CAAC,CAeD"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_PROVISION_WAIT_SECONDS = exports.DEFAULT_PROVISION_WAIT_SECONDS = exports.DEPLOYMENT_QUERY = void 0;
4
+ exports.extractAzureErrors = extractAzureErrors;
5
+ exports.deploymentId = deploymentId;
6
+ exports.queryAzureDeployment = queryAzureDeployment;
7
+ exports.waitForAzureDeployment = waitForAzureDeployment;
8
+ exports.queryDeploymentOperationErrors = queryDeploymentOperationErrors;
9
+ const azure_cli_1 = require("../../utils/azure-cli");
10
+ const azure_diagnostics_1 = require("../../utils/azure-diagnostics");
11
+ exports.DEPLOYMENT_QUERY = "{id:id,name:name,state:properties.provisioningState,correlationId:properties.correlationId,templateHash:properties.templateHash,timestamp:properties.timestamp,error:properties.error}";
12
+ exports.DEFAULT_PROVISION_WAIT_SECONDS = 300;
13
+ exports.MAX_PROVISION_WAIT_SECONDS = 3600;
14
+ function record(value) {
15
+ return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
16
+ }
17
+ function extractAzureErrors(value, secretValues = []) {
18
+ const result = [];
19
+ const visit = (entry, depth) => {
20
+ if (depth > 8 || result.length >= 20)
21
+ return;
22
+ if (typeof entry === "string") {
23
+ try {
24
+ visit(JSON.parse(entry), depth + 1);
25
+ }
26
+ catch { /* Only structured Azure errors are projected. */ }
27
+ return;
28
+ }
29
+ const item = record(entry);
30
+ if (!item)
31
+ return;
32
+ if (typeof item.code === "string" && typeof item.message === "string") {
33
+ result.push({ code: (0, azure_diagnostics_1.redactAzureText)(item.code, secretValues).slice(0, 200), message: (0, azure_diagnostics_1.redactAzureText)(item.message, secretValues).slice(0, 2000) });
34
+ }
35
+ if (item.error)
36
+ visit(item.error, depth + 1);
37
+ if (Array.isArray(item.details))
38
+ item.details.forEach((detail) => visit(detail, depth + 1));
39
+ };
40
+ visit(value, 0);
41
+ return result;
42
+ }
43
+ function deploymentId(reference) {
44
+ return reference.id ?? `/subscriptions/${reference.subscription}/resourceGroups/${reference.resourceGroup}/providers/Microsoft.Resources/deployments/${reference.name}`;
45
+ }
46
+ async function queryAzureDeployment(reference, options = {}) {
47
+ const result = await (0, azure_cli_1.runAzCliAsync)([
48
+ "deployment", "group", "show", "--name", reference.name,
49
+ "--resource-group", reference.resourceGroup, "--subscription", reference.subscription,
50
+ "--query", exports.DEPLOYMENT_QUERY, "-o", "json",
51
+ ], { timeout: options.timeoutMs ?? 30000, signal: options.signal });
52
+ const diagnostic = (0, azure_diagnostics_1.azureCliDiagnostic)(result, "deployment-state", options.secretValues);
53
+ const unknown = (reason) => ({
54
+ state: "unknown", reference, reason, errors: [], diagnostic,
55
+ });
56
+ if (result.status !== 0 || result.failureKind) {
57
+ if (result.failureKind === "cancelled")
58
+ return unknown("cancelled");
59
+ return unknown(/DeploymentNotFound|ResourceGroupNotFound/i.test(`${result.stderr}\n${result.stdout}`) ? "not-found" : "query-failed");
60
+ }
61
+ if (result.stdoutTruncated)
62
+ return unknown("invalid-response");
63
+ let parsed;
64
+ try {
65
+ parsed = record(JSON.parse(result.stdout));
66
+ }
67
+ catch {
68
+ return unknown("invalid-response");
69
+ }
70
+ if (!parsed || typeof parsed.id !== "string" || typeof parsed.state !== "string" || typeof parsed.correlationId !== "string") {
71
+ return unknown("invalid-response");
72
+ }
73
+ if (parsed.id.toLowerCase() !== deploymentId(reference).toLowerCase()
74
+ || (reference.correlationId && parsed.correlationId !== reference.correlationId)
75
+ || (reference.templateHash && parsed.templateHash !== reference.templateHash)) {
76
+ return unknown("identity-changed");
77
+ }
78
+ if (reference.previousCorrelationId && parsed.correlationId === reference.previousCorrelationId) {
79
+ return unknown("not-yet-observed");
80
+ }
81
+ const states = {
82
+ accepted: "Accepted", running: "Running", creating: "Running", updating: "Running",
83
+ succeeded: "Succeeded", failed: "Failed", canceled: "Canceled", cancelled: "Canceled",
84
+ };
85
+ const state = states[parsed.state.toLowerCase()];
86
+ if (!state)
87
+ return unknown("invalid-response");
88
+ return {
89
+ state,
90
+ reference: {
91
+ ...reference,
92
+ id: parsed.id,
93
+ correlationId: parsed.correlationId,
94
+ ...(typeof parsed.templateHash === "string" ? { templateHash: parsed.templateHash } : {}),
95
+ },
96
+ errors: extractAzureErrors(parsed.error, options.secretValues),
97
+ diagnostic,
98
+ };
99
+ }
100
+ async function waitForAzureDeployment(reference, options) {
101
+ let observation;
102
+ do {
103
+ const remaining = options.deadline - Date.now();
104
+ // Even when the wait budget is exhausted, one bounded read can identify an accepted submission.
105
+ observation = await queryAzureDeployment(reference, {
106
+ timeoutMs: remaining > 0 ? Math.min(options.queryTimeoutMs ?? 30000, remaining) : options.queryTimeoutMs ?? 30000,
107
+ signal: options.signal,
108
+ secretValues: options.secretValues,
109
+ });
110
+ if (observation.state !== "unknown")
111
+ reference = observation.reference;
112
+ options.onObservation?.(observation);
113
+ if (observation.state === "Succeeded" || observation.state === "Failed" || observation.state === "Canceled")
114
+ return observation;
115
+ if (observation.state === "unknown" && observation.reason !== "not-yet-observed" && observation.reason !== "not-found")
116
+ return observation;
117
+ if (Date.now() >= options.deadline || options.signal?.aborted)
118
+ return observation;
119
+ await new Promise((resolve) => {
120
+ const done = () => {
121
+ clearTimeout(timer);
122
+ options.signal?.removeEventListener("abort", done);
123
+ resolve();
124
+ };
125
+ const timer = setTimeout(done, Math.min(options.pollIntervalMs ?? 5000, Math.max(options.deadline - Date.now(), 0)));
126
+ options.signal?.addEventListener("abort", done, { once: true });
127
+ if (options.signal?.aborted)
128
+ done();
129
+ });
130
+ } while (!options.signal?.aborted);
131
+ return observation;
132
+ }
133
+ async function queryDeploymentOperationErrors(reference, secretValues = [], signal) {
134
+ const result = await (0, azure_cli_1.runAzCliAsync)([
135
+ "deployment", "operation", "group", "list",
136
+ "--resource-group", reference.resourceGroup, "--name", reference.name, "--subscription", reference.subscription,
137
+ "--query", "[?properties.provisioningState=='Failed' || properties.provisioningState=='Canceled'].{error:properties.statusMessage}",
138
+ "-o", "json",
139
+ ], { timeout: 30000, signal });
140
+ const errors = [];
141
+ if (result.status === 0 && !result.failureKind && !result.stdoutTruncated) {
142
+ try {
143
+ const parsed = JSON.parse(result.stdout);
144
+ if (Array.isArray(parsed))
145
+ parsed.slice(0, 20).forEach((item) => errors.push(...extractAzureErrors(item, secretValues)));
146
+ }
147
+ catch { /* The separate diagnostic explicitly records an unreadable operations response. */ }
148
+ }
149
+ return { errors: errors.slice(0, 20), diagnostic: (0, azure_diagnostics_1.azureCliDiagnostic)(result, "deployment-operations", secretValues) };
150
+ }
151
+ //# sourceMappingURL=provision-deployment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision-deployment.js","sourceRoot":"","sources":["../../../src/core/operations/provision-deployment.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  /**
2
2
  * Plan / Apply Provision — Azure プロビジョニングの事前計画と承認付き実行。
3
3
  *
4
- * - plan provision: ローカルの決定論的プリフライト(Bicep 解析・az CLI 有無)のみ。
5
- * ネットワークアクセスや az login を必要とする操作は行わない。
6
- * --what-if を明示した場合のみ az deployment group what-if を実行する。
4
+ * - plan provision: Bicep と Azure の現在の状態を確認する。リソースは変更しない。
7
5
  * - apply provision: 常に承認(--approve)必須。承認なしでは requires-human で停止する。
8
6
  * - 対話的な `swallowkit provision` は同じ計画をメモリ上で作成・表示し、確認後に
9
7
  * executeProvisionPlan で同じ安全確認を経て実行する(計画ファイルは保存しない)。
10
8
  */
9
+ import { AzureCliDiagnostic } from "../../utils/azure-diagnostics";
10
+ import type { MachineNextAction, MachineOperationStatus } from "../../machine/contracts";
11
11
  import { InfraInspection } from "../project/infra";
12
+ import { DeploymentObservation, DeploymentReference } from "./provision-deployment";
12
13
  import { MigrationManifest, MigrationState, ResolvedMigration } from "../project/migrations";
13
14
  export interface PlanProvisionOptions {
14
15
  resourceGroup: string;
@@ -20,8 +21,10 @@ export interface PlanProvisionOptions {
20
21
  adoptExisting?: boolean;
21
22
  baseline?: number;
22
23
  reconcile?: boolean;
24
+ /** Attach an existing, matching baseline deployment without submitting Bicep again. */
25
+ resumeDeployment?: string;
23
26
  }
24
- export type ProvisionMode = "offline" | "bootstrap" | "adoption-required" | "adopt" | "migrate" | "noop" | "reconcile";
27
+ export type ProvisionMode = "offline" | "bootstrap" | "adoption-required" | "adopt" | "migrate" | "noop" | "reconcile" | "recover";
25
28
  interface ProvisionCommand {
26
29
  file: "az";
27
30
  args: string[];
@@ -53,6 +56,7 @@ export interface ProvisionPlanData {
53
56
  requiresApproval: true;
54
57
  fingerprints: Record<string, string | null>;
55
58
  baselineSnapshotChecksum?: string;
59
+ recoveryDeployment?: DeploymentReference;
56
60
  }
57
61
  /**
58
62
  * Builds the provision plan. Machine/MCP callers persist it for a later `apply provision --plan`;
@@ -64,17 +68,44 @@ export declare function planProvisionOperation(options: PlanProvisionOptions, pl
64
68
  export interface ApplyProvisionOptions {
65
69
  planId: string;
66
70
  approve?: boolean;
71
+ waitSeconds?: number;
67
72
  }
68
73
  export interface ApplyProvisionResult {
74
+ status: MachineOperationStatus;
75
+ outcome: "succeeded" | "in-progress" | "unknown" | "partial" | "failed";
76
+ runId: string;
69
77
  planId: string;
70
78
  resourceGroup: string;
71
79
  location: string;
72
80
  swaLocation: string;
73
81
  executedCommands: string[];
74
- deploymentOutputs?: Record<string, unknown>;
75
82
  warnings: string[];
83
+ diagnostics: AzureCliDiagnostic[];
84
+ deployment?: DeploymentObservation;
85
+ nextActions: MachineNextAction[];
86
+ interrupted?: NodeJS.Signals;
87
+ }
88
+ export interface ProvisionRun {
89
+ schemaVersion: 1;
90
+ runId: string;
91
+ projectRoot: string;
92
+ plan: ProvisionPlanData;
93
+ cursor: number;
94
+ attemptedIndex?: number;
95
+ deployment?: DeploymentReference;
96
+ observation?: DeploymentObservation;
97
+ outcome: ApplyProvisionResult["outcome"];
98
+ executedCommands: string[];
99
+ warnings: string[];
100
+ diagnostics: AzureCliDiagnostic[];
101
+ updatedAt: string;
76
102
  }
77
103
  export declare const INTERACTIVE_PROVISION_RETRY_HINT = "Run \"swallowkit provision\" again to review the current state.";
104
+ export declare function provisionNextActions(runId: string): MachineNextAction[];
105
+ export declare function inspectProvisionOperation(options: {
106
+ planId: string;
107
+ waitSeconds?: number;
108
+ }): Promise<ApplyProvisionResult>;
78
109
  export declare function applyProvisionOperation(options: ApplyProvisionOptions): Promise<ApplyProvisionResult>;
79
110
  /**
80
111
  * Runs an approved provision plan with every safety check: local files and Azure state must still
@@ -84,6 +115,9 @@ export declare function executeProvisionPlan(plan: ProvisionPlanData, options?:
84
115
  approve?: boolean;
85
116
  retryHint?: string;
86
117
  projectRoot?: string;
118
+ waitSeconds?: number;
119
+ signal?: AbortSignal;
120
+ pollIntervalMs?: number;
87
121
  }): Promise<ApplyProvisionResult>;
88
122
  export {};
89
123
  //# sourceMappingURL=provision-operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provision-operations.d.ts","sourceRoot":"","sources":["../../../src/core/operations/provision-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision-operations.d.ts","sourceRoot":"","sources":["../../../src/core/operations/provision-operations.ts"],"names":[],"mappings":"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"}