gooseworks 0.5.9-dev.53.c1bd6be2 → 0.5.9-dev.56.eca9486d
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/dist/agents/claude-mcp.d.ts +7 -1
- package/dist/agents/claude-mcp.d.ts.map +1 -1
- package/dist/agents/claude-mcp.js +43 -10
- package/dist/agents/claude-mcp.js.map +1 -1
- package/dist/auth/credentials.d.ts +8 -0
- package/dist/auth/credentials.d.ts.map +1 -1
- package/dist/auth/credentials.js +35 -1
- package/dist/auth/credentials.js.map +1 -1
- package/dist/auth/device-flow.d.ts +4 -1
- package/dist/auth/device-flow.d.ts.map +1 -1
- package/dist/auth/device-flow.js +8 -3
- package/dist/auth/device-flow.js.map +1 -1
- package/dist/auth/oauth-server.d.ts +9 -1
- package/dist/auth/oauth-server.d.ts.map +1 -1
- package/dist/auth/oauth-server.js +19 -11
- package/dist/auth/oauth-server.js.map +1 -1
- package/dist/auth/revoke.d.ts +10 -0
- package/dist/auth/revoke.d.ts.map +1 -0
- package/dist/auth/revoke.js +31 -0
- package/dist/auth/revoke.js.map +1 -0
- package/dist/commands/login.d.ts +15 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +34 -10
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +29 -11
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/video.d.ts +35 -0
- package/dist/commands/video.d.ts.map +1 -1
- package/dist/commands/video.js +475 -39
- package/dist/commands/video.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/kit/core/canonical.d.ts +3 -1
- package/dist/kit/core/canonical.d.ts.map +1 -1
- package/dist/kit/core/canonical.js +1 -1
- package/dist/kit/core/canonical.js.map +1 -1
- package/dist/kit/core/check.d.ts +2 -0
- package/dist/kit/core/check.d.ts.map +1 -1
- package/dist/kit/core/check.js +12 -2
- package/dist/kit/core/check.js.map +1 -1
- package/dist/kit/core/detach.d.ts +11 -0
- package/dist/kit/core/detach.d.ts.map +1 -0
- package/dist/kit/core/detach.js +72 -0
- package/dist/kit/core/detach.js.map +1 -0
- package/dist/kit/core/diff.d.ts +5 -0
- package/dist/kit/core/diff.d.ts.map +1 -0
- package/dist/kit/core/diff.js +132 -0
- package/dist/kit/core/diff.js.map +1 -0
- package/dist/kit/core/errors.d.ts +7 -1
- package/dist/kit/core/errors.d.ts.map +1 -1
- package/dist/kit/core/errors.js +11 -1
- package/dist/kit/core/errors.js.map +1 -1
- package/dist/kit/core/eyes.d.ts +80 -0
- package/dist/kit/core/eyes.d.ts.map +1 -0
- package/dist/kit/core/eyes.js +366 -0
- package/dist/kit/core/eyes.js.map +1 -0
- package/dist/kit/core/files.js +2 -2
- package/dist/kit/core/files.js.map +1 -1
- package/dist/kit/core/lock.d.ts +4 -0
- package/dist/kit/core/lock.d.ts.map +1 -0
- package/dist/kit/core/lock.js +13 -0
- package/dist/kit/core/lock.js.map +1 -0
- package/dist/kit/core/log.d.ts +38 -2
- package/dist/kit/core/log.d.ts.map +1 -1
- package/dist/kit/core/log.js +38 -5
- package/dist/kit/core/log.js.map +1 -1
- package/dist/kit/core/outcome.d.ts +114 -0
- package/dist/kit/core/outcome.d.ts.map +1 -0
- package/dist/kit/core/outcome.js +246 -0
- package/dist/kit/core/outcome.js.map +1 -0
- package/dist/kit/core/patch.d.ts +64 -0
- package/dist/kit/core/patch.d.ts.map +1 -0
- package/dist/kit/core/patch.js +289 -0
- package/dist/kit/core/patch.js.map +1 -0
- package/dist/kit/core/paths.d.ts +17 -0
- package/dist/kit/core/paths.d.ts.map +1 -1
- package/dist/kit/core/paths.js +21 -0
- package/dist/kit/core/paths.js.map +1 -1
- package/dist/kit/core/pieces.d.ts +16 -4
- package/dist/kit/core/pieces.d.ts.map +1 -1
- package/dist/kit/core/pieces.js +84 -27
- package/dist/kit/core/pieces.js.map +1 -1
- package/dist/kit/core/progress-reporter.d.ts +21 -4
- package/dist/kit/core/progress-reporter.d.ts.map +1 -1
- package/dist/kit/core/progress-reporter.js +74 -12
- package/dist/kit/core/progress-reporter.js.map +1 -1
- package/dist/kit/core/progress.d.ts +18 -1
- package/dist/kit/core/progress.d.ts.map +1 -1
- package/dist/kit/core/progress.js +44 -1
- package/dist/kit/core/progress.js.map +1 -1
- package/dist/kit/core/refusal-log.d.ts +7 -0
- package/dist/kit/core/refusal-log.d.ts.map +1 -0
- package/dist/kit/core/refusal-log.js +54 -0
- package/dist/kit/core/refusal-log.js.map +1 -0
- package/dist/kit/core/run.d.ts +35 -5
- package/dist/kit/core/run.d.ts.map +1 -1
- package/dist/kit/core/run.js +497 -79
- package/dist/kit/core/run.js.map +1 -1
- package/dist/kit/core/save.d.ts +7 -3
- package/dist/kit/core/save.d.ts.map +1 -1
- package/dist/kit/core/save.js +57 -20
- package/dist/kit/core/save.js.map +1 -1
- package/dist/kit/core/style.js +1 -1
- package/dist/kit/core/style.js.map +1 -1
- package/dist/kit/line/client.d.ts +14 -2
- package/dist/kit/line/client.d.ts.map +1 -1
- package/dist/kit/line/client.js +40 -20
- package/dist/kit/line/client.js.map +1 -1
- package/dist/kit/line/types.d.ts +33 -1
- package/dist/kit/line/types.d.ts.map +1 -1
- package/dist/kit/maker/inputs.js +1 -1
- package/dist/kit/maker/make.d.ts.map +1 -1
- package/dist/kit/maker/make.js +4 -2
- package/dist/kit/maker/make.js.map +1 -1
- package/dist/kit/maker/parts/html-frames/{1.2.0 → 1.2.1}/part.json +1 -1
- package/dist/kit/parts/catalog.d.ts +3 -20
- package/dist/kit/parts/catalog.d.ts.map +1 -1
- package/dist/kit/parts/catalog.js +6 -41
- package/dist/kit/parts/catalog.js.map +1 -1
- package/dist/kit/parts/loader.d.ts +7 -2
- package/dist/kit/parts/loader.d.ts.map +1 -1
- package/dist/kit/parts/loader.js +88 -23
- package/dist/kit/parts/loader.js.map +1 -1
- package/dist/skills/master-skill.d.ts +1 -3
- package/dist/skills/master-skill.d.ts.map +1 -1
- package/dist/skills/master-skill.js +12 -14
- package/dist/skills/master-skill.js.map +1 -1
- package/dist/skills/routes.js +4 -4
- package/dist/skills/routes.js.map +1 -1
- package/dist/skills/server-entry-skills.d.ts +6 -6
- package/dist/skills/server-entry-skills.js +15 -15
- package/dist/skills/server-entry-skills.js.map +1 -1
- package/dist/utils/browser-preflight.d.ts +3 -0
- package/dist/utils/browser-preflight.d.ts.map +1 -1
- package/dist/utils/browser-preflight.js +27 -6
- package/dist/utils/browser-preflight.js.map +1 -1
- package/dist/utils/exit.d.ts +6 -0
- package/dist/utils/exit.d.ts.map +1 -0
- package/dist/utils/exit.js +37 -0
- package/dist/utils/exit.js.map +1 -0
- package/package.json +13 -2
- package/skills/goose-ads/SKILL.md +3 -3
- package/skills/goose-product-photos/SKILL.md +3 -3
- package/skills/goose-video/SKILL.md +5 -5
- package/skills/goose-video-local/SKILL.md +3 -3
- package/skills/gooseworks/SKILL.md +6 -8
- package/skills/make-custom-video/SKILL.md +2 -2
- package/skills/manifest.json +7 -7
- package/skills/routes.json +3 -3
|
@@ -5,13 +5,15 @@ export declare function canonicalHash(value: unknown): string;
|
|
|
5
5
|
export declare function isFileRef(value: unknown): value is FileRef;
|
|
6
6
|
/** The value as hashes see it: every FileRef reduced to { media, sha256 }. */
|
|
7
7
|
export declare function hashView(value: unknown): unknown;
|
|
8
|
-
/** Local cache key of one step: { interface, part, toolchain, inputs }. */
|
|
8
|
+
/** Local cache key of one step: { interface, part, toolchain, inputs }, plus the step's edit and remade takes when it has them. */
|
|
9
9
|
export declare function stepHash(input: {
|
|
10
10
|
interface: number;
|
|
11
11
|
part: PartRef;
|
|
12
12
|
toolchain: string;
|
|
13
13
|
inputs: unknown;
|
|
14
14
|
fix?: number;
|
|
15
|
+
patch?: string;
|
|
16
|
+
takes?: Record<string, number>;
|
|
15
17
|
}): string;
|
|
16
18
|
/** The piece hash, sent as the line's inputs_hash: { part, provider, path, body }, before any file is hosted. */
|
|
17
19
|
export declare function pieceHash(input: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/kit/core/canonical.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASpD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAI1D;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAShD;AAED,
|
|
1
|
+
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/kit/core/canonical.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASpD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAI1D;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAShD;AAED,mIAAmI;AACnI,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,MAAM,CAG9K;AAED,iHAAiH;AACjH,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAEzG;AAED,oGAAoG;AACpG,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAGrG"}
|
|
@@ -50,7 +50,7 @@ function hashView(value) {
|
|
|
50
50
|
}
|
|
51
51
|
return value;
|
|
52
52
|
}
|
|
53
|
-
/** Local cache key of one step: { interface, part, toolchain, inputs }. */
|
|
53
|
+
/** Local cache key of one step: { interface, part, toolchain, inputs }, plus the step's edit and remade takes when it has them. */
|
|
54
54
|
function stepHash(input) {
|
|
55
55
|
const { fix, ...rest } = input;
|
|
56
56
|
return canonicalHash(hashView(fix ? { ...rest, fix } : rest));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../src/kit/core/canonical.ts"],"names":[],"mappings":";;AAOA,sCASC;AAED,8BAEC;AAED,sCAEC;AAED,8BAIC;AAGD,4BASC;AAGD,4BAGC;AAGD,8BAEC;AAGD,8BAGC;AA3DD,4EAA4E;AAC5E,+EAA+E;AAC/E,qEAAqE;AACrE,8EAA8E;AAC9E,mCAAoC;AAGpC,SAAgB,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3E,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9F,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,SAAS,CAAC,IAAqB;IAC7C,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,aAAa,CAAC,KAAc;IAC1C,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,SAAS,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;AACxH,CAAC;AAED,8EAA8E;AAC9E,SAAgB,QAAQ,CAAC,KAAc;IACrC,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../src/kit/core/canonical.ts"],"names":[],"mappings":"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"}
|
package/dist/kit/core/check.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export interface CheckDeps {
|
|
|
8
8
|
host: KitHost;
|
|
9
9
|
say: (line: string) => void;
|
|
10
10
|
tools?: Toolchain;
|
|
11
|
+
/** An expired or refused sign-in: sign in again and hand back the line with the new login. */
|
|
12
|
+
signInAgain?: () => Promise<VideoLine | null>;
|
|
11
13
|
}
|
|
12
14
|
export type CheckResult = {
|
|
13
15
|
status: 'ready' | 'not_ready';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/kit/core/check.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/kit/core/check.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAK5D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,wBAAsB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CA+CzE"}
|
package/dist/kit/core/check.js
CHANGED
|
@@ -33,11 +33,21 @@ async function checkComputer(deps) {
|
|
|
33
33
|
return { status: 'not_ready' };
|
|
34
34
|
}
|
|
35
35
|
try {
|
|
36
|
-
|
|
36
|
+
let answer;
|
|
37
|
+
try {
|
|
38
|
+
answer = await line.reportDevice(report);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
const again = error instanceof client_1.LineError && error.next === 'sign_in' && deps.signInAgain ? await deps.signInAgain() : null;
|
|
42
|
+
if (!again)
|
|
43
|
+
throw error;
|
|
44
|
+
answer = await again.reportDevice(report);
|
|
45
|
+
}
|
|
37
46
|
if (!answer.kit.ok)
|
|
38
47
|
return { status: 'update_kit', message: 'This video kit is older than the oldest one that works.', min_version: answer.kit.min_version };
|
|
39
48
|
const { ready: styles, total } = answer.styles;
|
|
40
|
-
|
|
49
|
+
const account = answer.account ? `, signed in as ${answer.account.email}${answer.account.workspace_name ? ` (${answer.account.workspace_name})` : ''}` : '';
|
|
50
|
+
say(ready ? `Ready: ${styles} ${styles === 1 ? 'style' : 'styles'}${total > styles ? ` of ${total}` : ''}${account}.` : `Not ready yet: ${styles} of ${total} styles can be made here${account}.`);
|
|
41
51
|
return { status: ready ? 'ready' : 'not_ready', ready: styles, total };
|
|
42
52
|
}
|
|
43
53
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/kit/core/check.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/kit/core/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Set on the detached process: it waits its turn, and never detaches again. */
|
|
2
|
+
export declare const DETACHED_ENV = "GOOSEWORKS_KIT_DETACHED";
|
|
3
|
+
/** The command line again without --detach, and with --json so its output file is one event per line. */
|
|
4
|
+
export declare function detachedArgs(args: readonly string[]): string[];
|
|
5
|
+
/** Starts the detached process with its output appended to `output`; returns its pid. */
|
|
6
|
+
export declare function startDetached(opts: {
|
|
7
|
+
args: string[];
|
|
8
|
+
output: string;
|
|
9
|
+
env: NodeJS.ProcessEnv;
|
|
10
|
+
}): number;
|
|
11
|
+
//# sourceMappingURL=detach.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detach.d.ts","sourceRoot":"","sources":["../../../src/kit/core/detach.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAChF,eAAO,MAAM,YAAY,4BAA4B,CAAC;AAEtD,yGAAyG;AACzG,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAG9D;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GAAG,MAAM,CAiBtG"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DETACHED_ENV = void 0;
|
|
37
|
+
exports.detachedArgs = detachedArgs;
|
|
38
|
+
exports.startDetached = startDetached;
|
|
39
|
+
// `video make <id> --detach`: the same command in a process of its own, which outlives the shell
|
|
40
|
+
// (and the app) that started it. Its output goes to the video's output.ndjson as JSON events.
|
|
41
|
+
const child_process_1 = require("child_process");
|
|
42
|
+
const fs_1 = require("fs");
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
/** Set on the detached process: it waits its turn, and never detaches again. */
|
|
45
|
+
exports.DETACHED_ENV = 'GOOSEWORKS_KIT_DETACHED';
|
|
46
|
+
/** The command line again without --detach, and with --json so its output file is one event per line. */
|
|
47
|
+
function detachedArgs(args) {
|
|
48
|
+
const kept = args.filter((arg) => arg !== '--detach');
|
|
49
|
+
return kept.includes('--json') ? kept : [...kept, '--json'];
|
|
50
|
+
}
|
|
51
|
+
/** Starts the detached process with its output appended to `output`; returns its pid. */
|
|
52
|
+
function startDetached(opts) {
|
|
53
|
+
(0, fs_1.mkdirSync)(path.dirname(opts.output), { recursive: true, mode: 0o700 });
|
|
54
|
+
const fd = (0, fs_1.openSync)(opts.output, 'a', 0o600);
|
|
55
|
+
try {
|
|
56
|
+
const child = (0, child_process_1.spawn)(process.execPath, [...process.execArgv, process.argv[1], ...opts.args], {
|
|
57
|
+
detached: true,
|
|
58
|
+
stdio: ['ignore', fd, fd],
|
|
59
|
+
env: { ...opts.env, [exports.DETACHED_ENV]: '1' },
|
|
60
|
+
windowsHide: true,
|
|
61
|
+
});
|
|
62
|
+
child.on('error', () => undefined);
|
|
63
|
+
if (!child.pid)
|
|
64
|
+
throw new Error('The video maker could not be started in the background on this computer.');
|
|
65
|
+
child.unref();
|
|
66
|
+
return child.pid;
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
(0, fs_1.closeSync)(fd);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=detach.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detach.js","sourceRoot":"","sources":["../../../src/kit/core/detach.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,oCAGC;AAGD,sCAiBC;AAjCD,iGAAiG;AACjG,8FAA8F;AAC9F,iDAAsC;AACtC,2BAAoD;AACpD,2CAA6B;AAE7B,gFAAgF;AACnE,QAAA,YAAY,GAAG,yBAAyB,CAAC;AAEtD,yGAAyG;AACzG,SAAgB,YAAY,CAAC,IAAuB;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,yFAAyF;AACzF,SAAgB,aAAa,CAAC,IAAgE;IAC5F,IAAA,cAAS,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,IAAA,aAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1F,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;YACzB,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAY,CAAC,EAAE,GAAG,EAAE;YACzC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC5G,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,GAAG,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,IAAA,cAAS,EAAC,EAAE,CAAC,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Text when the bytes are UTF-8 with no NUL, else null (a binary file). */
|
|
2
|
+
export declare function textOf(bytes: Buffer): string | null;
|
|
3
|
+
/** `--- a/<path>`, `+++ b/<path>` and the hunks between two versions of one file. */
|
|
4
|
+
export declare function unifiedDiff(file: string, before: Buffer, after: Buffer): string;
|
|
5
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/kit/core/diff.ts"],"names":[],"mappings":"AASA,4EAA4E;AAC5E,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAInD;AAiGD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ/E"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// A unified diff (as `diff -u` writes it) of one edited part file, for the record an edited
|
|
3
|
+
// step uploads. Myers' O(ND) line diff; past MAX_EDITS the changed middle is shown whole.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.textOf = textOf;
|
|
6
|
+
exports.unifiedDiff = unifiedDiff;
|
|
7
|
+
const CONTEXT = 3;
|
|
8
|
+
/** Edits past this show the changed middle as one block instead of a line-by-line diff. */
|
|
9
|
+
const MAX_EDITS = 2000;
|
|
10
|
+
/** Text when the bytes are UTF-8 with no NUL, else null (a binary file). */
|
|
11
|
+
function textOf(bytes) {
|
|
12
|
+
if (bytes.includes(0))
|
|
13
|
+
return null;
|
|
14
|
+
const text = bytes.toString('utf8');
|
|
15
|
+
return Buffer.from(text, 'utf8').equals(bytes) ? text : null;
|
|
16
|
+
}
|
|
17
|
+
function linesOf(text) {
|
|
18
|
+
if (text === '')
|
|
19
|
+
return [];
|
|
20
|
+
const lines = text.split('\n');
|
|
21
|
+
if (lines[lines.length - 1] === '')
|
|
22
|
+
lines.pop();
|
|
23
|
+
return lines;
|
|
24
|
+
}
|
|
25
|
+
/** The shortest edit script, or null when it needs more than `maxEdits` edits. */
|
|
26
|
+
function myers(a, b, maxEdits) {
|
|
27
|
+
const n = a.length;
|
|
28
|
+
const m = b.length;
|
|
29
|
+
const max = n + m;
|
|
30
|
+
const offset = max + 1;
|
|
31
|
+
const v = new Int32Array(2 * max + 3);
|
|
32
|
+
// v as each round started, kept only over the diagonals that round can read.
|
|
33
|
+
const trace = [];
|
|
34
|
+
let found = -1;
|
|
35
|
+
for (let d = 0; d <= Math.min(max, maxEdits) && found < 0; d++) {
|
|
36
|
+
trace.push(v.slice(offset - d - 1, offset + d + 2));
|
|
37
|
+
for (let k = -d; k <= d; k += 2) {
|
|
38
|
+
let x = k === -d || (k !== d && v[offset + k - 1] < v[offset + k + 1]) ? v[offset + k + 1] : v[offset + k - 1] + 1;
|
|
39
|
+
let y = x - k;
|
|
40
|
+
while (x < n && y < m && a[x] === b[y]) {
|
|
41
|
+
x++;
|
|
42
|
+
y++;
|
|
43
|
+
}
|
|
44
|
+
v[offset + k] = x;
|
|
45
|
+
if (x >= n && y >= m) {
|
|
46
|
+
found = d;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (found < 0)
|
|
52
|
+
return null;
|
|
53
|
+
const ops = [];
|
|
54
|
+
let x = n;
|
|
55
|
+
let y = m;
|
|
56
|
+
for (let d = found; d >= 0; d--) {
|
|
57
|
+
const at = (k) => trace[d][k + d + 1];
|
|
58
|
+
const k = x - y;
|
|
59
|
+
const prevK = k === -d || (k !== d && at(k - 1) < at(k + 1)) ? k + 1 : k - 1;
|
|
60
|
+
const prevX = d === 0 ? 0 : at(prevK);
|
|
61
|
+
const prevY = d === 0 ? 0 : prevX - prevK;
|
|
62
|
+
while (x > prevX && y > prevY)
|
|
63
|
+
ops.push({ kind: ' ', line: a[--x] }), y--;
|
|
64
|
+
if (d === 0)
|
|
65
|
+
break;
|
|
66
|
+
if (x === prevX)
|
|
67
|
+
ops.push({ kind: '+', line: b[--y] });
|
|
68
|
+
else
|
|
69
|
+
ops.push({ kind: '-', line: a[--x] });
|
|
70
|
+
}
|
|
71
|
+
return ops.reverse();
|
|
72
|
+
}
|
|
73
|
+
/** Every line of `a` out and every line of `b` in, around their shared start and end. */
|
|
74
|
+
function wholeMiddle(a, b) {
|
|
75
|
+
let start = 0;
|
|
76
|
+
while (start < a.length && start < b.length && a[start] === b[start])
|
|
77
|
+
start++;
|
|
78
|
+
let end = 0;
|
|
79
|
+
while (end < a.length - start && end < b.length - start && a[a.length - 1 - end] === b[b.length - 1 - end])
|
|
80
|
+
end++;
|
|
81
|
+
return [
|
|
82
|
+
...a.slice(0, start).map((line) => ({ kind: ' ', line })),
|
|
83
|
+
...a.slice(start, a.length - end).map((line) => ({ kind: '-', line })),
|
|
84
|
+
...b.slice(start, b.length - end).map((line) => ({ kind: '+', line })),
|
|
85
|
+
...a.slice(a.length - end).map((line) => ({ kind: ' ', line })),
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
function hunks(ops) {
|
|
89
|
+
// Line numbers (1-based) in a and b where each op sits.
|
|
90
|
+
const aAt = [];
|
|
91
|
+
const bAt = [];
|
|
92
|
+
let ai = 1;
|
|
93
|
+
let bi = 1;
|
|
94
|
+
for (const op of ops) {
|
|
95
|
+
aAt.push(ai);
|
|
96
|
+
bAt.push(bi);
|
|
97
|
+
if (op.kind !== '+')
|
|
98
|
+
ai++;
|
|
99
|
+
if (op.kind !== '-')
|
|
100
|
+
bi++;
|
|
101
|
+
}
|
|
102
|
+
const changed = ops.flatMap((op, i) => (op.kind === ' ' ? [] : [i]));
|
|
103
|
+
const out = [];
|
|
104
|
+
for (let c = 0; c < changed.length; c++) {
|
|
105
|
+
const first = changed[c];
|
|
106
|
+
// Changes with at most two contexts of unchanged lines between them share a hunk, as diff -u does.
|
|
107
|
+
while (c + 1 < changed.length && changed[c + 1] - changed[c] - 1 <= 2 * CONTEXT)
|
|
108
|
+
c++;
|
|
109
|
+
const start = Math.max(0, first - CONTEXT);
|
|
110
|
+
const end = Math.min(ops.length, changed[c] + CONTEXT + 1);
|
|
111
|
+
const slice = ops.slice(start, end);
|
|
112
|
+
const aCount = slice.filter((op) => op.kind !== '+').length;
|
|
113
|
+
const bCount = slice.filter((op) => op.kind !== '-').length;
|
|
114
|
+
// An empty side is numbered by the line before it, as diff -u does.
|
|
115
|
+
out.push(`@@ -${aCount ? aAt[start] : aAt[start] - 1},${aCount} +${bCount ? bAt[start] : bAt[start] - 1},${bCount} @@`);
|
|
116
|
+
for (const op of slice)
|
|
117
|
+
out.push(`${op.kind}${op.line}`);
|
|
118
|
+
}
|
|
119
|
+
return out;
|
|
120
|
+
}
|
|
121
|
+
/** `--- a/<path>`, `+++ b/<path>` and the hunks between two versions of one file. */
|
|
122
|
+
function unifiedDiff(file, before, after) {
|
|
123
|
+
const a = textOf(before);
|
|
124
|
+
const b = textOf(after);
|
|
125
|
+
if (a === null || b === null)
|
|
126
|
+
return `Binary file ${file} changed\n`;
|
|
127
|
+
const aLines = linesOf(a);
|
|
128
|
+
const bLines = linesOf(b);
|
|
129
|
+
const ops = myers(aLines, bLines, MAX_EDITS) ?? wholeMiddle(aLines, bLines);
|
|
130
|
+
return [`--- a/${file}`, `+++ b/${file}`, ...hunks(ops)].join('\n') + '\n';
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/kit/core/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,12 @@ export declare function asPartError(error: unknown): PartError;
|
|
|
22
22
|
export declare class KitStop extends Error {
|
|
23
23
|
readonly reason: 'stop' | 'update_kit' | 'change_request' | 'refused' | 'failed';
|
|
24
24
|
readonly code?: string | undefined;
|
|
25
|
-
|
|
25
|
+
/** The line's next step when it is one the result must keep (`sign_in`, exit code 6). */
|
|
26
|
+
readonly next?: "sign_in" | undefined;
|
|
27
|
+
constructor(message: string, reason?: 'stop' | 'update_kit' | 'change_request' | 'refused' | 'failed', code?: string | undefined,
|
|
28
|
+
/** The line's next step when it is one the result must keep (`sign_in`, exit code 6). */
|
|
29
|
+
next?: "sign_in" | undefined);
|
|
26
30
|
}
|
|
31
|
+
/** The run's stop on the line's refusal, by its next step; a sign-in is kept for the result. */
|
|
32
|
+
export declare function lineStop(message: string, next: string | undefined, code?: string): KitStop;
|
|
27
33
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/kit/core/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpF,yEAAyE;AACzE,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,aAAa,CAA0D,CAAC;AAM5G,qBAAa,SAAU,SAAQ,KAAM,YAAW,cAAc;IAMhD,QAAQ,CAAC,IAAI,EAAE,aAAa;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAAE,QAAQ,CAAC,QAAQ;IALrF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;gBACkB,IAAI,EAAE,aAAa,EAAW,MAAM,CAAC,EAAE,MAAM,YAAA,EAAW,QAAQ,UAAQ;CAK9F;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAMrD;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,KAAK;IAG9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/kit/core/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpF,yEAAyE;AACzE,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,aAAa,CAA0D,CAAC;AAM5G,qBAAa,SAAU,SAAQ,KAAM,YAAW,cAAc;IAMhD,QAAQ,CAAC,IAAI,EAAE,aAAa;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAAE,QAAQ,CAAC,QAAQ;IALrF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;gBACkB,IAAI,EAAE,aAAa,EAAW,MAAM,CAAC,EAAE,MAAM,YAAA,EAAW,QAAQ,UAAQ;CAK9F;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAMrD;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,KAAK;IAG9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS;gBAJzB,OAAO,EAAE,MAAM,EACN,MAAM,GAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAiB,EAChF,IAAI,CAAC,EAAE,MAAM,YAAA;IACtB,yFAAyF;IAChF,IAAI,CAAC,EAAE,SAAS,YAAA;CAK5B;AAED,gGAAgG;AAChG,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAG1F"}
|
package/dist/kit/core/errors.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.KitStop = exports.PartError = exports.RETRYABLE = void 0;
|
|
4
4
|
exports.asPartError = asPartError;
|
|
5
|
+
exports.lineStop = lineStop;
|
|
5
6
|
/** Retried once by the core, as attempt 2 with a new idempotency key. */
|
|
6
7
|
exports.RETRYABLE = new Set(['provider_failed', 'tool_failed', 'timeout']);
|
|
7
8
|
const CODES = new Set([
|
|
@@ -44,12 +45,21 @@ function asPartError(error) {
|
|
|
44
45
|
class KitStop extends Error {
|
|
45
46
|
reason;
|
|
46
47
|
code;
|
|
47
|
-
|
|
48
|
+
next;
|
|
49
|
+
constructor(message, reason = 'stop', code,
|
|
50
|
+
/** The line's next step when it is one the result must keep (`sign_in`, exit code 6). */
|
|
51
|
+
next) {
|
|
48
52
|
super(message);
|
|
49
53
|
this.reason = reason;
|
|
50
54
|
this.code = code;
|
|
55
|
+
this.next = next;
|
|
51
56
|
this.name = 'KitStop';
|
|
52
57
|
}
|
|
53
58
|
}
|
|
54
59
|
exports.KitStop = KitStop;
|
|
60
|
+
/** The run's stop on the line's refusal, by its next step; a sign-in is kept for the result. */
|
|
61
|
+
function lineStop(message, next, code) {
|
|
62
|
+
const reason = next === 'update_kit' ? 'update_kit' : next === 'change_request' ? 'change_request' : 'stop';
|
|
63
|
+
return new KitStop(message, reason, code, next === 'sign_in' ? 'sign_in' : undefined);
|
|
64
|
+
}
|
|
55
65
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/kit/core/errors.ts"],"names":[],"mappings":";;;AAwBA,kCAMC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/kit/core/errors.ts"],"names":[],"mappings":";;;AAwBA,kCAMC;AAqBD,4BAGC;AAnDD,yEAAyE;AAC5D,QAAA,SAAS,GAA+B,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5G,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC;IACzC,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe;CAC1I,CAAC,CAAC;AAEH,MAAa,SAAU,SAAQ,KAAK;IAMb;IAA8B;IAA0B;IALpE,SAAS,CAAU;IAC5B;;;OAGG;IACH,YAAqB,IAAmB,EAAW,MAAe,EAAW,WAAW,KAAK;QAC3F,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QADzB,SAAI,GAAJ,IAAI,CAAe;QAAW,WAAM,GAAN,MAAM,CAAS;QAAW,aAAQ,GAAR,QAAQ,CAAQ;QAE3F,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAXD,8BAWC;AAED,2FAA2F;AAC3F,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,IAAI,GAAI,KAA4B,EAAE,IAAI,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,SAAS,CAAC,IAAqB,EAAG,KAA6B,CAAC,MAAM,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;IACpJ,OAAO,IAAI,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAa,OAAQ,SAAQ,KAAK;IAGrB;IACA;IAEA;IALX,YACE,OAAe,EACN,SAA0E,MAAM,EAChF,IAAa;IACtB,yFAAyF;IAChF,IAAgB;QAEzB,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,WAAM,GAAN,MAAM,CAA0E;QAChF,SAAI,GAAJ,IAAI,CAAS;QAEb,SAAI,GAAJ,IAAI,CAAY;QAGzB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;CACF;AAXD,0BAWC;AAED,gGAAgG;AAChG,SAAgB,QAAQ,CAAC,OAAe,EAAE,IAAwB,EAAE,IAAa;IAC/E,MAAM,MAAM,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5G,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { Timeline } from '../part-interface';
|
|
2
|
+
import type { CheckReason } from '../line/types';
|
|
3
|
+
/** Frames across the video, before the end card. */
|
|
4
|
+
export declare const SHEET_FRAMES = 12;
|
|
5
|
+
/** A product photo's colours must cover this much of some patch of a frame for the product to count as seen. */
|
|
6
|
+
export declare const PRESENCE_MIN = 0.5;
|
|
7
|
+
/** What an agent looks for on the sheet before it says the video is ready. */
|
|
8
|
+
export declare const LOOK_FOR: string[];
|
|
9
|
+
export interface SheetTile {
|
|
10
|
+
/** 1-based, left to right, top to bottom. */
|
|
11
|
+
tile: number;
|
|
12
|
+
at_s: number;
|
|
13
|
+
/** The scene the frame is in, by the timeline's id, and its place in the video (1-based). */
|
|
14
|
+
scene_id?: string;
|
|
15
|
+
scene?: number;
|
|
16
|
+
end_card?: true;
|
|
17
|
+
}
|
|
18
|
+
export interface Eyes {
|
|
19
|
+
contact_sheet: string | null;
|
|
20
|
+
tiles: SheetTile[];
|
|
21
|
+
warnings: CheckReason[];
|
|
22
|
+
look_for: string[];
|
|
23
|
+
}
|
|
24
|
+
export interface Product {
|
|
25
|
+
name?: string;
|
|
26
|
+
photos: string[];
|
|
27
|
+
}
|
|
28
|
+
interface Rgb {
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
data: Buffer;
|
|
32
|
+
}
|
|
33
|
+
type Grab = (file: string, args: string[], bytes: number, signal: AbortSignal) => Promise<Buffer>;
|
|
34
|
+
/** The tile size for a picture of this shape: the long side TILE_LONG, both sides even. */
|
|
35
|
+
export declare function tileSize(width: number, height: number): {
|
|
36
|
+
width: number;
|
|
37
|
+
height: number;
|
|
38
|
+
};
|
|
39
|
+
/** Where the frames are taken: evenly across the video before its end card, then the end card's middle. */
|
|
40
|
+
export declare function sheetTimes(timeline: Pick<Timeline, 'duration_s' | 'scenes' | 'end_card'>): SheetTile[];
|
|
41
|
+
/** A tile's label: its scene and second, or END for the end card. */
|
|
42
|
+
export declare function tileLabel(tile: SheetTile): string;
|
|
43
|
+
/** The tiles in a grid on a dark sheet, each with its label underneath. */
|
|
44
|
+
export declare function composeSheet(frames: Array<{
|
|
45
|
+
tile: SheetTile;
|
|
46
|
+
frame: Rgb | null;
|
|
47
|
+
}>, tile: {
|
|
48
|
+
width: number;
|
|
49
|
+
height: number;
|
|
50
|
+
}): Rgb;
|
|
51
|
+
/** An RGB picture as a PNG file's bytes. */
|
|
52
|
+
export declare function encodePng(picture: Rgb): Buffer;
|
|
53
|
+
/** The product's colour mix: its opaque pixels, or those unlike its border when the photo has no transparency. */
|
|
54
|
+
export declare function productColours(photo: {
|
|
55
|
+
width: number;
|
|
56
|
+
height: number;
|
|
57
|
+
data: Buffer;
|
|
58
|
+
}): Float64Array | null;
|
|
59
|
+
/**
|
|
60
|
+
* How much of the best-matching patch of any frame the product's colours cover (0 to 1): square patches of
|
|
61
|
+
* a quarter, two fifths and seven tenths of the frame's short side, moved half a patch at a time.
|
|
62
|
+
*/
|
|
63
|
+
export declare function bestCover(product: Float64Array, frames: Rgb[]): number;
|
|
64
|
+
/** The warning for a product none of whose photos' colours show in the video; null when one does or none can be read. */
|
|
65
|
+
export declare function presenceWarning(name: string | undefined, photos: Float64Array[], frames: Rgb[]): CheckReason | null;
|
|
66
|
+
/**
|
|
67
|
+
* Writes the contact sheet and eyes.json next to the final, and gives back the product-presence warnings.
|
|
68
|
+
* A frame or photo that can't be read is left out; nothing here stops the video.
|
|
69
|
+
*/
|
|
70
|
+
export declare function lookAtFinal(opts: {
|
|
71
|
+
ffmpeg: string;
|
|
72
|
+
final: string;
|
|
73
|
+
timeline: Pick<Timeline, 'duration_s' | 'width' | 'height' | 'scenes' | 'end_card'>;
|
|
74
|
+
products: Product[];
|
|
75
|
+
signal: AbortSignal;
|
|
76
|
+
/** Replaces ffmpeg, for tests. */
|
|
77
|
+
grab?: Grab;
|
|
78
|
+
}): Promise<Eyes>;
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=eyes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eyes.d.ts","sourceRoot":"","sources":["../../../src/kit/core/eyes.ts"],"names":[],"mappings":"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"}
|