@kindgi/cli 0.1.1 → 0.1.3
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 +87 -16
- package/dist/build/containerfile.d.ts +1 -1
- package/dist/build/containerfile.d.ts.map +1 -1
- package/dist/build/containerfile.js +16 -2
- package/dist/build/containerfile.js.map +1 -1
- package/dist/build/defaults.d.ts +3 -3
- package/dist/build/defaults.d.ts.map +1 -1
- package/dist/build/defaults.js +16 -9
- package/dist/build/defaults.js.map +1 -1
- package/dist/build/host-install.d.ts +8 -0
- package/dist/build/host-install.d.ts.map +1 -1
- package/dist/build/host-install.js.map +1 -1
- package/dist/build/python-image.d.ts +2 -0
- package/dist/build/python-image.d.ts.map +1 -1
- package/dist/build/python-image.js +12 -1
- package/dist/build/python-image.js.map +1 -1
- package/dist/build/runners.d.ts +11 -5
- package/dist/build/runners.d.ts.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +75 -43
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +219 -40
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/env.js +1 -1
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/key.d.ts.map +1 -1
- package/dist/commands/key.js +143 -11
- package/dist/commands/key.js.map +1 -1
- package/dist/commands/providers.d.ts.map +1 -1
- package/dist/commands/providers.js +10 -1
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/runs.d.ts.map +1 -1
- package/dist/commands/runs.js +27 -7
- package/dist/commands/runs.js.map +1 -1
- package/dist/deploy/post.d.ts.map +1 -1
- package/dist/deploy/post.js +4 -0
- package/dist/deploy/post.js.map +1 -1
- package/dist/deploy/response.d.ts.map +1 -1
- package/dist/deploy/response.js +30 -7
- package/dist/deploy/response.js.map +1 -1
- package/dist/deploy/runners.d.ts +8 -0
- package/dist/deploy/runners.d.ts.map +1 -1
- package/dist/dev/bundler.d.ts +21 -0
- package/dist/dev/bundler.d.ts.map +1 -1
- package/dist/dev/bundler.js +46 -18
- package/dist/dev/bundler.js.map +1 -1
- package/dist/dev/defaults.d.ts +11 -0
- package/dist/dev/defaults.d.ts.map +1 -1
- package/dist/dev/defaults.js +19 -6
- package/dist/dev/defaults.js.map +1 -1
- package/dist/dev/project-database.d.ts +68 -0
- package/dist/dev/project-database.d.ts.map +1 -0
- package/dist/dev/project-database.js +142 -0
- package/dist/dev/project-database.js.map +1 -0
- package/dist/dev/project.d.ts +59 -0
- package/dist/dev/project.d.ts.map +1 -0
- package/dist/dev/project.js +182 -0
- package/dist/dev/project.js.map +1 -0
- package/dist/dev/providers.d.ts +96 -0
- package/dist/dev/providers.d.ts.map +1 -0
- package/dist/dev/providers.js +406 -0
- package/dist/dev/providers.js.map +1 -0
- package/dist/dev/runners.d.ts +17 -0
- package/dist/dev/runners.d.ts.map +1 -1
- package/dist/dev/runtime-image.d.ts +1 -1
- package/dist/dev/runtime-image.js +1 -1
- package/dist/env/pack-env-plan.d.ts +7 -1
- package/dist/env/pack-env-plan.d.ts.map +1 -1
- package/dist/env/pack-env-plan.js +9 -3
- package/dist/env/pack-env-plan.js.map +1 -1
- package/dist/providers/preset-loader.d.ts +5 -0
- package/dist/providers/preset-loader.d.ts.map +1 -1
- package/dist/providers/preset-loader.js +9 -1
- package/dist/providers/preset-loader.js.map +1 -1
- package/dist/providers/presets/gemini.json +2 -1
- package/dist/runs/follow.d.ts +25 -0
- package/dist/runs/follow.d.ts.map +1 -0
- package/dist/runs/follow.js +48 -0
- package/dist/runs/follow.js.map +1 -0
- package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +9 -3
- package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +41 -6
- package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +15 -3
- package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-getting-started/SKILL.md +78 -4
- package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +5 -1
- package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +74 -5
- package/dist/templates/minimal/AGENTS.md +4 -3
- package/dist/templates/minimal/package.json.tmpl +1 -1
- package/dist/templates/python/AGENTS.md +5 -4
- package/dist/templates/sample/AGENTS.md +4 -3
- package/dist/templates/sample/package.json.tmpl +1 -1
- package/package.json +13 -12
package/dist/deploy/post.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/deploy/post.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,QAAwB;IACpD,IACE,QAAQ,CAAC,WAAW,KAAK,SAAS;QAClC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,SAAS,KAAK,SAAS,EAChC,CAAC;QACD,uEAAuE;QACvE,gEAAgE;QAChE,oCAAoC;QACpC,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAwB;IAC3D,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,OAAO,UAAU,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA2B;IAE3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAClE,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;gBACrC,cAAc,EAAE,kBAAkB;gBAClC,iBAAiB,EAAE,IAAI,CAAC,cAAc;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,QAAQ,GAAG,YAAa,GAAa,CAAC,OAAO,EAAE;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,GAAY,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;QACpD,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,QAAQ,GAAG,kBAAkB,GAAG,CAAC,MAAM,qBAAqB;SACtE,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,IAAwB;
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/deploy/post.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/deploy/response.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/deploy/response.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAuC3E,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,GACA,gBAAgB,CAuGlB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,MAAM,CAOxE"}
|
package/dist/deploy/response.js
CHANGED
|
@@ -9,9 +9,10 @@ const WIRE_ERROR_HINTS = {
|
|
|
9
9
|
'signature-invalid': 'Check that --tenant matches the tenant your token authenticates as. ' +
|
|
10
10
|
"The server re-canonicalises the envelope using the token's tenantId; " +
|
|
11
11
|
'a mismatch fails signature verification.',
|
|
12
|
-
'signer-not-trusted': "The
|
|
13
|
-
'
|
|
14
|
-
'
|
|
12
|
+
'signer-not-trusted': "The runtime doesn't trust the signing key {signerKeyId}: it isn't on this tenant's " +
|
|
13
|
+
'trust list, or it was revoked. Trust it (with a token that has signing-keys:write), ' +
|
|
14
|
+
'then deploy again. A revoked key stays revoked: make a new one with ' +
|
|
15
|
+
'`kindgi key create <newId>`.',
|
|
15
16
|
'image-unverifiable': 'The server could not pull the image or the extracted /app/index.json ' +
|
|
16
17
|
'sha256 did not match the signed indexHash. Verify the build server ' +
|
|
17
18
|
'pushed to the same registry the deployment tenant can pull from, and ' +
|
|
@@ -22,6 +23,13 @@ const WIRE_ERROR_HINTS = {
|
|
|
22
23
|
'bad-input': 'The wire body was malformed. Regenerate the envelope with ' +
|
|
23
24
|
'`kindgi build` — a partial write on disk can cause this.',
|
|
24
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* The command a hint names, on a line of its own so it copies whole.
|
|
28
|
+
* `{signerKeyId}` and `{endpoint}` are filled in from the deploy.
|
|
29
|
+
*/
|
|
30
|
+
const WIRE_ERROR_COMMANDS = {
|
|
31
|
+
'signer-not-trusted': 'kindgi key trust {signerKeyId} --url {endpoint}',
|
|
32
|
+
};
|
|
25
33
|
/**
|
|
26
34
|
* Render a POST outcome. Includes the "what the developer sees"
|
|
27
35
|
* summary for 201/200 outcomes + code-specific hints for 4xx.
|
|
@@ -37,6 +45,9 @@ export function renderResponse(result, ctx) {
|
|
|
37
45
|
banner.push(` primitives: ${primitivesLine(result.record.primitives)}`);
|
|
38
46
|
banner.push(` activatedAt: ${result.record.activatedAt}`);
|
|
39
47
|
banner.push('');
|
|
48
|
+
if (result.idempotentReplay === true) {
|
|
49
|
+
banner.push(` Note: answered from the server's record of an earlier request with this Idempotency-Key (${ctx.idempotencyKey}); nothing ran again.`);
|
|
50
|
+
}
|
|
40
51
|
if (result.kind === 'replayed') {
|
|
41
52
|
banner.push(' Note: same imageDigest previously landed. Server returned the existing record.');
|
|
42
53
|
banner.push(` Runs already in flight continue on their pinned image (${result.record.imageDigest.slice(0, 20)}…).`);
|
|
@@ -65,13 +76,17 @@ export function renderResponse(result, ctx) {
|
|
|
65
76
|
banner.push(` ✗ POST /v1/deployments → HTTP ${result.status}`);
|
|
66
77
|
banner.push(` code: ${result.error.code}`);
|
|
67
78
|
banner.push(` message: ${result.error.message}`);
|
|
79
|
+
const fill = (text) => text.replaceAll('{signerKeyId}', ctx.signerKeyId).replaceAll('{endpoint}', ctx.endpoint);
|
|
68
80
|
const hint = WIRE_ERROR_HINTS[result.error.code];
|
|
69
81
|
if (hint !== undefined) {
|
|
70
82
|
banner.push('');
|
|
71
83
|
banner.push(' Hint:');
|
|
72
|
-
for (const line of wrapForBanner(hint, 74, ' ')) {
|
|
84
|
+
for (const line of wrapForBanner(fill(hint), 74, ' ')) {
|
|
73
85
|
banner.push(line);
|
|
74
86
|
}
|
|
87
|
+
const command = WIRE_ERROR_COMMANDS[result.error.code];
|
|
88
|
+
if (command !== undefined)
|
|
89
|
+
banner.push(` ${fill(command)}`);
|
|
75
90
|
}
|
|
76
91
|
if (result.error.details !== undefined && result.error.details.length > 0) {
|
|
77
92
|
banner.push('');
|
|
@@ -80,9 +95,16 @@ export function renderResponse(result, ctx) {
|
|
|
80
95
|
banner.push(` · ${JSON.stringify(detail)}`);
|
|
81
96
|
}
|
|
82
97
|
}
|
|
83
|
-
if (result.
|
|
98
|
+
if (result.idempotentReplay === true) {
|
|
99
|
+
// A runtime before 0.1.3 stored refusals too.
|
|
100
|
+
banner.push('');
|
|
101
|
+
banner.push(` This answer is a replay: an earlier request with the same Idempotency-Key (${ctx.idempotencyKey}) got it,`);
|
|
102
|
+
banner.push(' and the server returned it without running again. After fixing the cause, deploy');
|
|
103
|
+
banner.push(' with a new key: --idempotency-key <new value>.');
|
|
104
|
+
}
|
|
105
|
+
else if (result.status >= 500) {
|
|
84
106
|
banner.push('');
|
|
85
|
-
banner.push(
|
|
107
|
+
banner.push(" This is a server error: check the runtime's logs, then run the same command again.");
|
|
86
108
|
}
|
|
87
109
|
banner.push('');
|
|
88
110
|
return { banner, summary: null, exitCode: 1 };
|
|
@@ -93,7 +115,8 @@ export function renderResponse(result, ctx) {
|
|
|
93
115
|
banner.push(' ✗ POST /v1/deployments → transport failure');
|
|
94
116
|
banner.push(` ${result.message}`);
|
|
95
117
|
banner.push('');
|
|
96
|
-
banner.push(' Check network
|
|
118
|
+
banner.push(' Check the network and the endpoint URL, then run the same command again: it sends');
|
|
119
|
+
banner.push(` the same Idempotency-Key (${ctx.idempotencyKey}), so a deploy that did land isn't registered twice.`);
|
|
97
120
|
banner.push('');
|
|
98
121
|
return { banner, summary: null, exitCode: 1 };
|
|
99
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/deploy/response.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAWjC;;;;GAIG;AACH,MAAM,gBAAgB,GAAqC;IACzD,mBAAmB,EACjB,sEAAsE;QACtE,uEAAuE;QACvE,0CAA0C;IAC5C,oBAAoB,EAClB,
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/deploy/response.ts"],"names":[],"mappings":"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"}
|
package/dist/deploy/runners.d.ts
CHANGED
|
@@ -85,13 +85,19 @@ export type PostDeploymentResult = {
|
|
|
85
85
|
readonly kind: 'created';
|
|
86
86
|
readonly status: 201;
|
|
87
87
|
readonly record: DeploymentRecord;
|
|
88
|
+
/** The server answered from its record of an earlier request with this Idempotency-Key (`X-Idempotent-Replay`). */
|
|
89
|
+
readonly idempotentReplay?: boolean;
|
|
88
90
|
} | {
|
|
89
91
|
readonly kind: 'replayed';
|
|
90
92
|
readonly status: 200;
|
|
91
93
|
readonly record: DeploymentRecord;
|
|
94
|
+
/** The server answered from its record of an earlier request with this Idempotency-Key (`X-Idempotent-Replay`). */
|
|
95
|
+
readonly idempotentReplay?: boolean;
|
|
92
96
|
} | {
|
|
93
97
|
readonly kind: 'wire-error';
|
|
94
98
|
readonly status: number;
|
|
99
|
+
/** A replay of an earlier answer to this Idempotency-Key (a runtime before 0.1.3 also replays refusals). */
|
|
100
|
+
readonly idempotentReplay?: boolean;
|
|
95
101
|
readonly error: {
|
|
96
102
|
readonly code: string;
|
|
97
103
|
readonly message: string;
|
|
@@ -173,6 +179,8 @@ export type SyncSecretsResult = {
|
|
|
173
179
|
} | {
|
|
174
180
|
readonly kind: 'wire-error';
|
|
175
181
|
readonly status: number;
|
|
182
|
+
/** A replay of an earlier answer to this Idempotency-Key (a runtime before 0.1.3 also replays refusals). */
|
|
183
|
+
readonly idempotentReplay?: boolean;
|
|
176
184
|
readonly error: {
|
|
177
185
|
readonly code: string;
|
|
178
186
|
readonly message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../src/deploy/runners.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GAC1D;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,uBAAuB,GAAG,0BAA0B,CAAC;IAC3F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAMN;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../src/deploy/runners.ts"],"names":[],"mappings":"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"}
|
package/dist/dev/bundler.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BuildResult } from 'esbuild';
|
|
1
2
|
import type { PackBuilder } from './runners.js';
|
|
2
3
|
export interface DevPackBuilderOptions {
|
|
3
4
|
readonly packDir: string;
|
|
@@ -6,5 +7,25 @@ export interface DevPackBuilderOptions {
|
|
|
6
7
|
/** The pack's `kindgi.config.*`, whose imports count among the externals. */
|
|
7
8
|
readonly configPath?: string;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* How recently an input may have changed before a build's stamp can no
|
|
12
|
+
* longer say what the build read. File times are coarse (a whole second on
|
|
13
|
+
* some file systems) and can trail the clock, so a change within this gap
|
|
14
|
+
* of the build's start may have landed after the build read the file.
|
|
15
|
+
* esbuild's watch mode waits the same 3 s before trusting a file's
|
|
16
|
+
* modification time.
|
|
17
|
+
*/
|
|
18
|
+
export declare const STAMP_SAFETY_GAP_MS = 3000;
|
|
9
19
|
export declare function createDevPackBuilder(options: DevPackBuilderOptions): PackBuilder;
|
|
20
|
+
/**
|
|
21
|
+
* What a build read: every input with its size and change times — equal
|
|
22
|
+
* for two builds that read the same files. The files are looked at once
|
|
23
|
+
* the build has ended, so this stands for what it read only when none of
|
|
24
|
+
* them changed after it started. When one did (or changed within
|
|
25
|
+
* `STAMP_SAFETY_GAP_MS` of the start, too close to tell), or is gone,
|
|
26
|
+
* there's no stamp: the build may have read the file before the change,
|
|
27
|
+
* and the rebuild that change triggers would otherwise look the same and
|
|
28
|
+
* go unreported.
|
|
29
|
+
*/
|
|
30
|
+
export declare function stampOf(result: Pick<BuildResult, 'metafile'>, packDir: string, startedAt: number): Promise<string | undefined>;
|
|
10
31
|
//# sourceMappingURL=bundler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/dev/bundler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/dev/bundler.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAgB,WAAW,EAAmB,MAAM,SAAS,CAAC;AAS1E,OAAO,KAAK,EAA8B,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAWD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AAEzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,CA4HhF;AAwED;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B"}
|
package/dist/dev/bundler.js
CHANGED
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
* not only the discovery folders. A rebuild is reported when the files
|
|
12
12
|
* it read differ from those of the last build reported (so watch mode's
|
|
13
13
|
* own first build, right after `build()`, is not reported twice), and
|
|
14
|
-
* whenever it fails.
|
|
14
|
+
* whenever it fails. A file that changed while a build ran (an editor's
|
|
15
|
+
* save landing mid-build, or a write caught half done) may have been read
|
|
16
|
+
* before the change, so that build is compared with nothing: the rebuild
|
|
17
|
+
* the change triggers is always reported (see `stampOf`).
|
|
15
18
|
* Adding or removing a primitive file changes the entry points, so
|
|
16
19
|
* `syncEntries()` recreates the build. When the last primitive file is
|
|
17
20
|
* removed there is nothing for esbuild to build or watch, so the (empty)
|
|
@@ -26,28 +29,41 @@ import { stat } from 'node:fs/promises';
|
|
|
26
29
|
import { relative, resolve, sep } from 'node:path';
|
|
27
30
|
import { REQUIRE_BANNER, collectPackEntries, nodeModulesExternalPlugin, } from '../build/bundle.js';
|
|
28
31
|
import { devDistDir } from './paths.js';
|
|
32
|
+
/**
|
|
33
|
+
* How recently an input may have changed before a build's stamp can no
|
|
34
|
+
* longer say what the build read. File times are coarse (a whole second on
|
|
35
|
+
* some file systems) and can trail the clock, so a change within this gap
|
|
36
|
+
* of the build's start may have landed after the build read the file.
|
|
37
|
+
* esbuild's watch mode waits the same 3 s before trusting a file's
|
|
38
|
+
* modification time.
|
|
39
|
+
*/
|
|
40
|
+
export const STAMP_SAFETY_GAP_MS = 3_000;
|
|
29
41
|
export function createDevPackBuilder(options) {
|
|
30
42
|
const outDir = devDistDir(options.packDir);
|
|
31
43
|
let context;
|
|
32
44
|
let entries = [];
|
|
33
45
|
let entriesKey;
|
|
34
46
|
let listener;
|
|
35
|
-
/** What the last reported build read
|
|
47
|
+
/** What the last reported build read (`stampOf`); undefined compares with nothing. */
|
|
36
48
|
let reportedInputs;
|
|
37
|
-
/** The
|
|
38
|
-
let
|
|
49
|
+
/** The build running now (a new record per build, read once it ends). */
|
|
50
|
+
let current = { startedAt: Date.now(), importing: new Map() };
|
|
39
51
|
let configImporting;
|
|
40
52
|
const configExternals = () => {
|
|
41
53
|
configImporting ??= configExternalsOf(options.packDir, options.configPath);
|
|
42
54
|
return configImporting;
|
|
43
55
|
};
|
|
44
56
|
const externalsOf = async (code) => listExternals([code, await configExternals()], options.packDir);
|
|
45
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Each build starts with no externals (`nodeModulesExternalPlugin`
|
|
59
|
+
* records them) and notes when it started. esbuild runs on-start
|
|
60
|
+
* callbacks before it reads any file.
|
|
61
|
+
*/
|
|
46
62
|
const collector = {
|
|
47
63
|
name: 'kindgi-dev-externals',
|
|
48
64
|
setup(build) {
|
|
49
65
|
build.onStart(() => {
|
|
50
|
-
|
|
66
|
+
current = { startedAt: Date.now(), importing: new Map() };
|
|
51
67
|
});
|
|
52
68
|
},
|
|
53
69
|
};
|
|
@@ -58,12 +74,12 @@ export function createDevPackBuilder(options) {
|
|
|
58
74
|
build.onEnd(async (result) => {
|
|
59
75
|
if (listener === undefined)
|
|
60
76
|
return;
|
|
61
|
-
const
|
|
62
|
-
const read = result.errors.length > 0 ? undefined : await
|
|
77
|
+
const { startedAt, importing } = current;
|
|
78
|
+
const read = result.errors.length > 0 ? undefined : await stampOf(result, options.packDir, startedAt);
|
|
63
79
|
if (read !== undefined && read === reportedInputs)
|
|
64
80
|
return;
|
|
65
81
|
reportedInputs = read;
|
|
66
|
-
const outcome = outcomeOf(result, entries, options.packDir, await externalsOf(
|
|
82
|
+
const outcome = outcomeOf(result, entries, options.packDir, await externalsOf(importing));
|
|
67
83
|
listener?.(outcome);
|
|
68
84
|
});
|
|
69
85
|
},
|
|
@@ -92,7 +108,7 @@ export function createDevPackBuilder(options) {
|
|
|
92
108
|
plugins: [
|
|
93
109
|
collector,
|
|
94
110
|
nodeModulesExternalPlugin({
|
|
95
|
-
onExternal: (name, importer) => add(importing, name, importer),
|
|
111
|
+
onExternal: (name, importer) => add(current.importing, name, importer),
|
|
96
112
|
}),
|
|
97
113
|
reporter,
|
|
98
114
|
],
|
|
@@ -109,9 +125,9 @@ export function createDevPackBuilder(options) {
|
|
|
109
125
|
}
|
|
110
126
|
try {
|
|
111
127
|
const result = await context.rebuild();
|
|
112
|
-
const
|
|
113
|
-
reportedInputs = await
|
|
114
|
-
return outcomeOf(result, entries, options.packDir, await externalsOf(
|
|
128
|
+
const { startedAt, importing } = current;
|
|
129
|
+
reportedInputs = await stampOf(result, options.packDir, startedAt);
|
|
130
|
+
return outcomeOf(result, entries, options.packDir, await externalsOf(importing));
|
|
115
131
|
}
|
|
116
132
|
catch (failure) {
|
|
117
133
|
return failed(failure.errors ?? [], failure);
|
|
@@ -206,19 +222,31 @@ function listExternals(sets, packDir) {
|
|
|
206
222
|
importers: [...(merged.get(name) ?? [])].map((file) => toPosix(relative(packDir, file))).sort(),
|
|
207
223
|
}));
|
|
208
224
|
}
|
|
209
|
-
/**
|
|
210
|
-
|
|
225
|
+
/**
|
|
226
|
+
* What a build read: every input with its size and change times — equal
|
|
227
|
+
* for two builds that read the same files. The files are looked at once
|
|
228
|
+
* the build has ended, so this stands for what it read only when none of
|
|
229
|
+
* them changed after it started. When one did (or changed within
|
|
230
|
+
* `STAMP_SAFETY_GAP_MS` of the start, too close to tell), or is gone,
|
|
231
|
+
* there's no stamp: the build may have read the file before the change,
|
|
232
|
+
* and the rebuild that change triggers would otherwise look the same and
|
|
233
|
+
* go unreported.
|
|
234
|
+
*/
|
|
235
|
+
export async function stampOf(result, packDir, startedAt) {
|
|
211
236
|
const inputs = Object.keys(result.metafile?.inputs ?? {}).sort();
|
|
237
|
+
const settledBefore = startedAt - STAMP_SAFETY_GAP_MS;
|
|
212
238
|
const stamped = await Promise.all(inputs.map(async (input) => {
|
|
213
239
|
try {
|
|
214
240
|
const s = await stat(resolve(packDir, input));
|
|
215
|
-
|
|
241
|
+
if (Math.max(s.mtimeMs, s.ctimeMs) >= settledBefore)
|
|
242
|
+
return undefined;
|
|
243
|
+
return `${input}:${s.size}:${s.mtimeMs}:${s.ctimeMs}`;
|
|
216
244
|
}
|
|
217
245
|
catch {
|
|
218
|
-
return
|
|
246
|
+
return undefined;
|
|
219
247
|
}
|
|
220
248
|
}));
|
|
221
|
-
return stamped.join('\n');
|
|
249
|
+
return stamped.every((line) => line !== undefined) ? stamped.join('\n') : undefined;
|
|
222
250
|
}
|
|
223
251
|
function failed(errors, cause) {
|
|
224
252
|
const located = errors.map((e) => e.location === null
|
package/dist/dev/bundler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../src/dev/bundler.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../src/dev/bundler.ts"],"names":[],"mappings":"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"}
|
package/dist/dev/defaults.d.ts
CHANGED
|
@@ -99,12 +99,23 @@ export declare function runIndexerReadReal(packDir: string, outputPath?: string,
|
|
|
99
99
|
* A single debounce timer is shared across every event → the callback
|
|
100
100
|
* fires at most once per debounce window. Roots that don't exist yet
|
|
101
101
|
* are skipped.
|
|
102
|
+
*
|
|
103
|
+
* `watch` is where the events come from (`node:fs/promises`'s by
|
|
104
|
+
* default); a test passes its own to drive the events deterministically.
|
|
102
105
|
*/
|
|
103
106
|
export declare function watchPackReal(packDir: string, onChange: () => void, opts?: {
|
|
104
107
|
readonly debounceMs?: number;
|
|
105
108
|
readonly patterns?: readonly string[];
|
|
106
109
|
readonly files?: readonly string[];
|
|
110
|
+
readonly watch?: WatchEvents;
|
|
107
111
|
}): Promise<WatchHandle>;
|
|
112
|
+
/** A directory's change events, as `node:fs/promises`'s `watch` gives them. */
|
|
113
|
+
export type WatchEvents = (path: string, options: {
|
|
114
|
+
readonly recursive?: boolean;
|
|
115
|
+
readonly signal: AbortSignal;
|
|
116
|
+
}) => AsyncIterable<{
|
|
117
|
+
readonly filename?: string | null;
|
|
118
|
+
}>;
|
|
108
119
|
/**
|
|
109
120
|
* Boot the bundled services with plain `docker compose`, in the
|
|
110
121
|
* `kindgi-dev` project:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/dev/defaults.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAA2C,KAAK,EAAa,MAAM,kBAAkB,CAAC;AAI7F,OAAO,EAML,UAAU,IAAI,cAAc,EAC7B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EACL,KAAK,YAAY,EAKlB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/dev/defaults.ts"],"names":[],"mappings":"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"}
|
package/dist/dev/defaults.js
CHANGED
|
@@ -24,6 +24,7 @@ import { createDevPackBuilder } from './bundler.js';
|
|
|
24
24
|
import { checkPackPython } from './pack-code.js';
|
|
25
25
|
import { devBundleMapPath, devIndexPath } from './paths.js';
|
|
26
26
|
import { hostPortOf, postgresSpecFromCompose, startPostgresContainer, } from './postgres-container.js';
|
|
27
|
+
import { bundledSqlRunner, createProjectDatabases } from './project-database.js';
|
|
27
28
|
import { createPythonPackBuilder } from './python-builder.js';
|
|
28
29
|
import { IMAGE_API_PORT, detectRuntimeNetwork, docker, ensureRuntimeImage, startRuntimeContainer, } from './runtime-container.js';
|
|
29
30
|
import { RUNTIME_GOOGLE_CREDENTIALS, RUNTIME_PACK_DIR, RUNTIME_PUBLIC_TOKEN_KEY, buildRuntimeEnv, runtimeEnvPath, shellReferencesOf, writeRuntimeEnv, } from './runtime-env.js';
|
|
@@ -414,8 +415,12 @@ async function indexResultOf(outcome) {
|
|
|
414
415
|
* A single debounce timer is shared across every event → the callback
|
|
415
416
|
* fires at most once per debounce window. Roots that don't exist yet
|
|
416
417
|
* are skipped.
|
|
418
|
+
*
|
|
419
|
+
* `watch` is where the events come from (`node:fs/promises`'s by
|
|
420
|
+
* default); a test passes its own to drive the events deterministically.
|
|
417
421
|
*/
|
|
418
422
|
export async function watchPackReal(packDir, onChange, opts = {}) {
|
|
423
|
+
const watchEvents = opts.watch ?? watch;
|
|
419
424
|
const debounceMs = opts.debounceMs ?? DEFAULT_DEBOUNCE_MS;
|
|
420
425
|
const patterns = opts.patterns ?? Object.values(DEFAULT_DISCOVERY);
|
|
421
426
|
const matches = createGlobMatcher(patterns);
|
|
@@ -446,7 +451,7 @@ export async function watchPackReal(packDir, onChange, opts = {}) {
|
|
|
446
451
|
continue;
|
|
447
452
|
const controller = new AbortController();
|
|
448
453
|
controllers.push(controller);
|
|
449
|
-
watchers.push(consumeWatch(abs, root, controller.signal, matches, fire, () => closed));
|
|
454
|
+
watchers.push(consumeWatch(watchEvents, abs, root, controller.signal, matches, fire, () => closed));
|
|
450
455
|
}
|
|
451
456
|
// Single files (the env files): watch each one's directory, not
|
|
452
457
|
// recursively, and fire for that name only — so an env file that
|
|
@@ -456,7 +461,7 @@ export async function watchPackReal(packDir, onChange, opts = {}) {
|
|
|
456
461
|
continue;
|
|
457
462
|
const controller = new AbortController();
|
|
458
463
|
controllers.push(controller);
|
|
459
|
-
watchers.push(consumeFileWatch(dir, names, controller.signal, fire, () => closed));
|
|
464
|
+
watchers.push(consumeFileWatch(watchEvents, dir, names, controller.signal, fire, () => closed));
|
|
460
465
|
}
|
|
461
466
|
return {
|
|
462
467
|
async close() {
|
|
@@ -495,9 +500,9 @@ function filesByDirectory(files) {
|
|
|
495
500
|
return byDir;
|
|
496
501
|
}
|
|
497
502
|
/** Consume one directory watch in the background, firing for `names` only. */
|
|
498
|
-
async function consumeFileWatch(dir, names, signal, fire, isClosed) {
|
|
503
|
+
async function consumeFileWatch(watchEvents, dir, names, signal, fire, isClosed) {
|
|
499
504
|
try {
|
|
500
|
-
for await (const evt of
|
|
505
|
+
for await (const evt of watchEvents(dir, { signal })) {
|
|
501
506
|
if (evt.filename !== null && evt.filename !== undefined && names.has(evt.filename))
|
|
502
507
|
fire();
|
|
503
508
|
}
|
|
@@ -522,9 +527,9 @@ function isFolderName(relPath) {
|
|
|
522
527
|
const last = relPath.split('/').at(-1) ?? '';
|
|
523
528
|
return last !== '' && !last.includes('.');
|
|
524
529
|
}
|
|
525
|
-
async function consumeWatch(abs, root, signal, matches, fire, isClosed) {
|
|
530
|
+
async function consumeWatch(watchEvents, abs, root, signal, matches, fire, isClosed) {
|
|
526
531
|
try {
|
|
527
|
-
for await (const evt of
|
|
532
|
+
for await (const evt of watchEvents(abs, { recursive: true, signal })) {
|
|
528
533
|
if (evt.filename === null || evt.filename === undefined) {
|
|
529
534
|
fire();
|
|
530
535
|
continue;
|
|
@@ -655,6 +660,10 @@ export async function startServicesReal(options, run = docker) {
|
|
|
655
660
|
databaseUrl: bundledDatabaseUrl(port),
|
|
656
661
|
services: ['postgres'],
|
|
657
662
|
startedWith: 'docker compose',
|
|
663
|
+
projectDatabases: createProjectDatabases({
|
|
664
|
+
run: bundledSqlRunner(run),
|
|
665
|
+
baseUrl: bundledDatabaseUrl(port),
|
|
666
|
+
}),
|
|
658
667
|
};
|
|
659
668
|
return { kind: 'ok', handle };
|
|
660
669
|
}
|
|
@@ -687,6 +696,10 @@ async function startPostgresWithDocker(options, run) {
|
|
|
687
696
|
services: ['postgres'],
|
|
688
697
|
startedWith: 'docker',
|
|
689
698
|
...(notes.length > 0 && { notes }),
|
|
699
|
+
projectDatabases: createProjectDatabases({
|
|
700
|
+
run: bundledSqlRunner(run),
|
|
701
|
+
baseUrl: bundledDatabaseUrl(started.port),
|
|
702
|
+
}),
|
|
690
703
|
},
|
|
691
704
|
};
|
|
692
705
|
}
|