@impractical-ai/motion 0.1.18 → 0.1.19
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/{api-WSATRY3V.js → api-LZ6H5LHP.js} +2 -2
- package/dist/{chunk-TETWFQPX.js → chunk-4SKYR3FS.js} +3 -3
- package/dist/{chunk-FTSZCIMV.js → chunk-5VN5GZWK.js} +1 -1
- package/dist/{chunk-M6427SHW.js → chunk-D3OOI7XP.js} +21 -7
- package/dist/{chunk-JSEDAJHM.js → chunk-MTNMG25I.js} +2 -2
- package/dist/{chunk-ZEVR6SM6.js → chunk-W4VH5SCR.js} +6 -6
- package/dist/{chunk-2GCSX3YN.js → chunk-XPFY56XH.js} +2 -2
- package/dist/{chunk-XWCSIM4L.js → chunk-ZJSSF74D.js} +1 -1
- package/dist/{commands-Y723HSJI.js → commands-FSL4FNI4.js} +4 -4
- package/dist/{draft-check-BRVH77WB.js → draft-check-YWT3WVD3.js} +4 -4
- package/dist/{guidance-SMXXX463.js → guidance-LQX2JZWK.js} +7 -7
- package/dist/index.js +8 -8
- package/dist/{stdio-N2RZGMBI.js → stdio-643H2TXL.js} +7 -7
- package/dist/{template-source-KKAKXOHX.js → template-source-XWVFNS6W.js} +5 -3
- package/package.json +1 -1
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
waitForJobs,
|
|
18
18
|
withAdmissionReceipt,
|
|
19
19
|
withMeteredCall
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-5VN5GZWK.js";
|
|
21
|
+
import "./chunk-XPFY56XH.js";
|
|
22
22
|
import "./chunk-77HVPD4G.js";
|
|
23
23
|
export {
|
|
24
24
|
AGENT_HEADER,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
fetchWorkspaces,
|
|
5
5
|
grantScope,
|
|
6
6
|
workspaceLabel
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZJSSF74D.js";
|
|
8
8
|
import {
|
|
9
9
|
ApiError,
|
|
10
10
|
delay,
|
|
@@ -12,14 +12,14 @@ import {
|
|
|
12
12
|
loadConfig,
|
|
13
13
|
recoverCorruptConfig,
|
|
14
14
|
saveConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5VN5GZWK.js";
|
|
16
16
|
import {
|
|
17
17
|
PACKAGE_COMMAND,
|
|
18
18
|
PACKAGE_NAME,
|
|
19
19
|
PACKAGE_VERSION,
|
|
20
20
|
PRODUCTION_APP_URL,
|
|
21
21
|
PRODUCTION_SUPABASE_URL
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-XPFY56XH.js";
|
|
23
23
|
|
|
24
24
|
// src/onboarding.ts
|
|
25
25
|
import {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-QQ6NYC74.js";
|
|
5
5
|
import {
|
|
6
6
|
invoke
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5VN5GZWK.js";
|
|
8
8
|
|
|
9
9
|
// src/mcp/template-source.ts
|
|
10
10
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
@@ -36,6 +36,7 @@ ${source.files[p]}`).join("\n\n")
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
+
var TEMPLATE_PAGE = 25;
|
|
39
40
|
function rankTemplates(items, query) {
|
|
40
41
|
const films = items.filter((item) => item.kind === "film");
|
|
41
42
|
const words = query.toLowerCase().split(/[^a-z0-9]+/).filter((word) => word.length > 1);
|
|
@@ -50,25 +51,37 @@ function rankTemplates(items, query) {
|
|
|
50
51
|
var templateSearchTool = {
|
|
51
52
|
name: "template_search",
|
|
52
53
|
title: "Find a template",
|
|
53
|
-
description: 'Search the Impractical template library (the Studio\u2019s templates: complete films, many of them replicas of real launch films such as Notion Mail, Attio or Framer) by name or words, and get each match\u2019s slug. Use it when someone mentions a template, a film in the library, or "the X one", then read the one they mean with template_source. Leave the query empty to list them all.',
|
|
54
|
+
description: 'Search the Impractical template library (the Studio\u2019s templates: complete films, many of them replicas of real launch films such as Notion Mail, Attio or Framer) by name or words, and get each match\u2019s slug. Use it when someone mentions a template, a film in the library, or "the X one", then read the one they mean with template_source. Leave the query empty to list them all. Results come a page at a time: when there are more, the reply says so and gives the `after` to pass for the next page.',
|
|
54
55
|
inputSchema: {
|
|
55
|
-
query: external_exports.string().max(200).optional().describe('Words from the template\u2019s name or what it shows, e.g. "notion mail" or "attio sequences".')
|
|
56
|
+
query: external_exports.string().max(200).optional().describe('Words from the template\u2019s name or what it shows, e.g. "notion mail" or "attio sequences".'),
|
|
57
|
+
after: external_exports.number().int().min(0).optional().describe("How many results to skip: the `after` a previous reply gave, for its next page.")
|
|
56
58
|
},
|
|
57
59
|
// read-only library browsing: admitted (unmetered) as the library's other lookups are
|
|
58
60
|
admitAs: "atelier_study",
|
|
59
61
|
handler: async (args, ctx) => {
|
|
60
62
|
const { items } = await ctx.invoke("atelier-library", { action: "catalog" });
|
|
61
63
|
const query = String(args.query ?? "");
|
|
62
|
-
const
|
|
63
|
-
if (!
|
|
64
|
+
const all = rankTemplates(items ?? [], query);
|
|
65
|
+
if (!all.length) {
|
|
64
66
|
return { text: `No template matches "${query}". Call template_search with no query to see them all.` };
|
|
65
67
|
}
|
|
68
|
+
const after = Math.min(Math.max(0, Number(args.after ?? 0) || 0), all.length);
|
|
69
|
+
const found = all.slice(after, after + TEMPLATE_PAGE);
|
|
70
|
+
if (!found.length) {
|
|
71
|
+
return { text: `That's past the last of the ${all.length} template(s)${query ? ` for "${query}"` : ""}. Call template_search without \`after\` to start over.` };
|
|
72
|
+
}
|
|
66
73
|
const lines = found.map(
|
|
67
74
|
(item) => `- ${item.slug}: ${item.title}${item.durationSeconds ? ` (${Math.round(item.durationSeconds)}s)` : ""}` + (item.description ? ` \u2014 ${item.description.slice(0, 200)}` : "")
|
|
68
75
|
);
|
|
76
|
+
const next = after + found.length;
|
|
77
|
+
const more = next < all.length ? `
|
|
78
|
+
|
|
79
|
+
Showing ${after + 1}\u2013${next} of ${all.length}. ${all.length - next} more: template_search({ ${query ? `query: ${JSON.stringify(query)}, ` : ""}after: ${next} }).` : after > 0 ? `
|
|
80
|
+
|
|
81
|
+
Showing ${after + 1}\u2013${next} of ${all.length}, the last page.` : "";
|
|
69
82
|
return {
|
|
70
|
-
text: `${
|
|
71
|
-
${lines.join("\n")}
|
|
83
|
+
text: `${all.length} template(s)${query ? ` for "${query}"` : ""}, best match first:
|
|
84
|
+
${lines.join("\n")}${more}
|
|
72
85
|
|
|
73
86
|
Read the one meant with template_source({ slug }).`
|
|
74
87
|
};
|
|
@@ -91,6 +104,7 @@ async function templateSourceCommand(slug, dir) {
|
|
|
91
104
|
|
|
92
105
|
export {
|
|
93
106
|
templateSourceTool,
|
|
107
|
+
TEMPLATE_PAGE,
|
|
94
108
|
rankTemplates,
|
|
95
109
|
templateSearchTool,
|
|
96
110
|
templateSourceCommand
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
templateSearchTool,
|
|
4
4
|
templateSourceTool
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-D3OOI7XP.js";
|
|
6
6
|
import {
|
|
7
7
|
ATELIER_FIRST_PASS_RULE,
|
|
8
8
|
ATELIER_RULE,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
upgradeTool,
|
|
53
53
|
waitBudgetMs,
|
|
54
54
|
workspaceNote
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-MTNMG25I.js";
|
|
56
56
|
import {
|
|
57
57
|
$ZodObject,
|
|
58
58
|
$ZodType,
|
|
@@ -88,13 +88,13 @@ import {
|
|
|
88
88
|
} from "./chunk-QQ6NYC74.js";
|
|
89
89
|
import {
|
|
90
90
|
openBrowser
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-4SKYR3FS.js";
|
|
92
92
|
import {
|
|
93
93
|
DEVICE_START_BODY,
|
|
94
94
|
fetchWorkspaces,
|
|
95
95
|
grantScope,
|
|
96
96
|
workspaceLabel
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-ZJSSF74D.js";
|
|
98
98
|
import {
|
|
99
99
|
ApiError,
|
|
100
100
|
admitMcpCall,
|
|
@@ -106,13 +106,13 @@ import {
|
|
|
106
106
|
setAgentName,
|
|
107
107
|
validateApiResponse,
|
|
108
108
|
withAdmissionReceipt
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-5VN5GZWK.js";
|
|
110
110
|
import {
|
|
111
111
|
BUILD_COMMIT,
|
|
112
112
|
PACKAGE_VERSION,
|
|
113
113
|
PRODUCTION_APP_URL,
|
|
114
114
|
PRODUCTION_SUPABASE_URL
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-XPFY56XH.js";
|
|
116
116
|
import {
|
|
117
117
|
__commonJS,
|
|
118
118
|
__toESM
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// package.json
|
|
4
4
|
var package_default = {
|
|
5
5
|
name: "@impractical-ai/motion",
|
|
6
|
-
version: "0.1.
|
|
6
|
+
version: "0.1.19",
|
|
7
7
|
private: false,
|
|
8
8
|
description: "Create and refine Impractical Motion videos from coding agents and the terminal.",
|
|
9
9
|
homepage: "https://github.com/Openpod/impractical-motion#readme",
|
|
@@ -57,7 +57,7 @@ var PRODUCTION_APP_URL = "https://motion.impractical.ai";
|
|
|
57
57
|
var PRODUCTION_SUPABASE_URL = "https://uaxjweednprtbhbceify.supabase.co";
|
|
58
58
|
var PACKAGE_NAME = "@impractical-ai/motion";
|
|
59
59
|
var PACKAGE_VERSION = package_default.version;
|
|
60
|
-
var BUILD_COMMIT = "
|
|
60
|
+
var BUILD_COMMIT = "77e5ecb" ? "77e5ecb" : "dev";
|
|
61
61
|
var BUILD_ID = `${PACKAGE_VERSION}+${BUILD_COMMIT}`;
|
|
62
62
|
var PACKAGE_COMMAND = `npx --yes ${PACKAGE_NAME}`;
|
|
63
63
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
setup
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-4SKYR3FS.js";
|
|
5
|
+
import "./chunk-ZJSSF74D.js";
|
|
6
6
|
import {
|
|
7
7
|
invoke,
|
|
8
8
|
invokeAt,
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
saveConfig,
|
|
13
13
|
studioLink,
|
|
14
14
|
waitForJobs
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-5VN5GZWK.js";
|
|
16
|
+
import "./chunk-XPFY56XH.js";
|
|
17
17
|
import "./chunk-77HVPD4G.js";
|
|
18
18
|
|
|
19
19
|
// src/commands.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
saveChecks
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MTNMG25I.js";
|
|
5
5
|
import "./chunk-QQ6NYC74.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-ZJSSF74D.js";
|
|
7
7
|
import {
|
|
8
8
|
invoke
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-5VN5GZWK.js";
|
|
10
|
+
import "./chunk-XPFY56XH.js";
|
|
11
11
|
import "./chunk-77HVPD4G.js";
|
|
12
12
|
|
|
13
13
|
// src/mcp/draft-check.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
buildServerInstructions
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-W4VH5SCR.js";
|
|
5
|
+
import "./chunk-D3OOI7XP.js";
|
|
6
6
|
import {
|
|
7
7
|
VIDEO_UI_GUIDE,
|
|
8
8
|
applyLocalMotionLibraryOverride,
|
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
motionLabEnabled,
|
|
12
12
|
phasedFlowEnabled,
|
|
13
13
|
qualityLoopEnabled
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MTNMG25I.js";
|
|
15
15
|
import "./chunk-QQ6NYC74.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-4SKYR3FS.js";
|
|
17
|
+
import "./chunk-ZJSSF74D.js";
|
|
18
18
|
import {
|
|
19
19
|
invoke,
|
|
20
20
|
withMeteredCall
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-5VN5GZWK.js";
|
|
22
|
+
import "./chunk-XPFY56XH.js";
|
|
23
23
|
import "./chunk-77HVPD4G.js";
|
|
24
24
|
|
|
25
25
|
// src/mcp/guidance.ts
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
PACKAGE_VERSION
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XPFY56XH.js";
|
|
5
5
|
import "./chunk-77HVPD4G.js";
|
|
6
6
|
|
|
7
7
|
// src/cli-args.ts
|
|
@@ -111,17 +111,17 @@ async function runCli(args, deps) {
|
|
|
111
111
|
return runStdioServer();
|
|
112
112
|
}
|
|
113
113
|
if (command === "template-source") {
|
|
114
|
-
const { templateSourceCommand } = await import("./template-source-
|
|
114
|
+
const { templateSourceCommand } = await import("./template-source-XWVFNS6W.js");
|
|
115
115
|
deps.writeLine(await templateSourceCommand(rest[0], typeof flags.dir === "string" ? flags.dir : void 0));
|
|
116
116
|
return;
|
|
117
117
|
}
|
|
118
118
|
if (command === "guidance") {
|
|
119
|
-
const { guidanceCommand } = await import("./guidance-
|
|
119
|
+
const { guidanceCommand } = await import("./guidance-LQX2JZWK.js");
|
|
120
120
|
deps.writeLine(await guidanceCommand(typeof flags.dir === "string" ? flags.dir : void 0));
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
123
|
if (command === "draft-check") {
|
|
124
|
-
const { draftCheck } = await import("./draft-check-
|
|
124
|
+
const { draftCheck } = await import("./draft-check-YWT3WVD3.js");
|
|
125
125
|
const changed = Array.isArray(flags.changed) ? flags.changed : typeof flags.changed === "string" ? [flags.changed] : [];
|
|
126
126
|
const report = await draftCheck(typeof flags.dir === "string" ? flags.dir : void 0, changed);
|
|
127
127
|
if (report) deps.writeLine(report);
|
|
@@ -180,11 +180,11 @@ async function runCli(args, deps) {
|
|
|
180
180
|
// src/index.ts
|
|
181
181
|
runCli(process.argv.slice(2), {
|
|
182
182
|
writeLine: (line) => console.log(line),
|
|
183
|
-
loadCommands: () => import("./commands-
|
|
184
|
-
loadApi: () => import("./api-
|
|
185
|
-
loadMcp: () => import("./stdio-
|
|
183
|
+
loadCommands: () => import("./commands-FSL4FNI4.js"),
|
|
184
|
+
loadApi: () => import("./api-LZ6H5LHP.js"),
|
|
185
|
+
loadMcp: () => import("./stdio-643H2TXL.js")
|
|
186
186
|
}).catch(async (error) => {
|
|
187
|
-
const { ApiError } = await import("./api-
|
|
187
|
+
const { ApiError } = await import("./api-LZ6H5LHP.js");
|
|
188
188
|
if (error instanceof ApiError) {
|
|
189
189
|
console.error(`Error (${error.status} from ${error.fn}): ${error.message}`);
|
|
190
190
|
if (error.status === 429) console.error("Weekly MCP allowance reached. Upgrade or wait for Monday UTC.");
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
createProjectWorkspaceLookup,
|
|
6
6
|
createServer,
|
|
7
7
|
runStdioServer
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-W4VH5SCR.js";
|
|
9
|
+
import "./chunk-D3OOI7XP.js";
|
|
10
|
+
import "./chunk-MTNMG25I.js";
|
|
11
11
|
import "./chunk-QQ6NYC74.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-4SKYR3FS.js";
|
|
13
|
+
import "./chunk-ZJSSF74D.js";
|
|
14
|
+
import "./chunk-5VN5GZWK.js";
|
|
15
|
+
import "./chunk-XPFY56XH.js";
|
|
16
16
|
import "./chunk-77HVPD4G.js";
|
|
17
17
|
export {
|
|
18
18
|
ENGINE_DTS_URI,
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
+
TEMPLATE_PAGE,
|
|
3
4
|
rankTemplates,
|
|
4
5
|
templateSearchTool,
|
|
5
6
|
templateSourceCommand,
|
|
6
7
|
templateSourceTool
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-D3OOI7XP.js";
|
|
8
9
|
import "./chunk-QQ6NYC74.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-5VN5GZWK.js";
|
|
11
|
+
import "./chunk-XPFY56XH.js";
|
|
11
12
|
import "./chunk-77HVPD4G.js";
|
|
12
13
|
export {
|
|
14
|
+
TEMPLATE_PAGE,
|
|
13
15
|
rankTemplates,
|
|
14
16
|
templateSearchTool,
|
|
15
17
|
templateSourceCommand,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@impractical-ai/motion",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Create and refine Impractical Motion videos from coding agents and the terminal.",
|
|
6
6
|
"homepage": "https://github.com/Openpod/impractical-motion#readme",
|