@remixhq/claude-plugin 0.1.27 → 0.1.28
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/.claude-plugin/plugin.json +1 -1
- package/dist/hook-post-collab.cjs +3 -3
- package/dist/hook-post-collab.cjs.map +1 -1
- package/dist/hook-stop-collab.cjs +14 -10
- package/dist/hook-stop-collab.cjs.map +1 -1
- package/dist/hook-user-prompt.cjs +14 -10
- package/dist/hook-user-prompt.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.cjs +58 -13
- package/dist/mcp-server.cjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// package.json
|
|
4
4
|
var package_default = {
|
|
5
5
|
name: "@remixhq/claude-plugin",
|
|
6
|
-
version: "0.1.
|
|
6
|
+
version: "0.1.28",
|
|
7
7
|
description: "Claude Code plugin for Remix collaboration workflows",
|
|
8
8
|
homepage: "https://github.com/RemixDotOne/remix-claude-plugin",
|
|
9
9
|
license: "MIT",
|
|
@@ -41,8 +41,8 @@ var package_default = {
|
|
|
41
41
|
prepack: "npm run build"
|
|
42
42
|
},
|
|
43
43
|
dependencies: {
|
|
44
|
-
"@remixhq/core": "^0.1.
|
|
45
|
-
"@remixhq/mcp": "^0.1.
|
|
44
|
+
"@remixhq/core": "^0.1.23",
|
|
45
|
+
"@remixhq/mcp": "^0.1.23",
|
|
46
46
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
47
47
|
zod: "^3.25.76"
|
|
48
48
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/metadata.ts"],"sourcesContent":["{\n \"name\": \"@remixhq/claude-plugin\",\n \"version\": \"0.1.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/metadata.ts"],"sourcesContent":["{\n \"name\": \"@remixhq/claude-plugin\",\n \"version\": \"0.1.28\",\n \"description\": \"Claude Code plugin for Remix collaboration workflows\",\n \"homepage\": \"https://github.com/RemixDotOne/remix-claude-plugin\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/RemixDotOne/remix-claude-plugin.git\"\n },\n \"type\": \"module\",\n \"engines\": {\n \"node\": \">=20\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"files\": [\n \"dist\",\n \".claude-plugin/plugin.json\",\n \".mcp.json\",\n \"skills\",\n \"hooks\",\n \"agents\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\"\n }\n },\n \"scripts\": {\n \"build\": \"tsup\",\n \"postbuild\": \"node -e \\\"const fs=require('node:fs'); for (const p of ['dist/mcp-server.cjs','dist/hook-pre-git.cjs','dist/hook-user-prompt.cjs','dist/hook-post-collab.cjs','dist/hook-stop-collab.cjs']) fs.chmodSync(p, 0o755);\\\"\",\n \"dev\": \"tsx src/mcp-server.ts\",\n \"typecheck\": \"tsc -p tsconfig.json --noEmit\",\n \"test\": \"node --import tsx --test 'src/**/*.test.ts'\",\n \"prepack\": \"npm run build\"\n },\n \"dependencies\": {\n \"@remixhq/core\": \"^0.1.23\",\n \"@remixhq/mcp\": \"^0.1.23\",\n \"@modelcontextprotocol/sdk\": \"^1.27.1\",\n \"zod\": \"^3.25.76\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^25.4.0\",\n \"tsup\": \"^8.5.1\",\n \"tsx\": \"^4.21.0\",\n \"typescript\": \"^5.9.3\"\n }\n}\n","import pkg from \"../package.json\";\n\nexport const pluginMetadata = {\n name: pkg.name,\n version: pkg.version,\n description: pkg.description,\n pluginId: \"remix\",\n agentName: \"remix-collab\",\n};\n"],"mappings":";;;AAAA;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,SAAW;AAAA,EACX,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,EACT;AAAA,EACA,MAAQ;AAAA,EACR,SAAW;AAAA,IACT,MAAQ;AAAA,EACV;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,SAAW;AAAA,IACT,KAAK;AAAA,MACH,OAAS;AAAA,MACT,QAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,SAAW;AAAA,IACT,OAAS;AAAA,IACT,WAAa;AAAA,IACb,KAAO;AAAA,IACP,WAAa;AAAA,IACb,MAAQ;AAAA,IACR,SAAW;AAAA,EACb;AAAA,EACA,cAAgB;AAAA,IACd,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,6BAA6B;AAAA,IAC7B,KAAO;AAAA,EACT;AAAA,EACA,iBAAmB;AAAA,IACjB,eAAe;AAAA,IACf,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,YAAc;AAAA,EAChB;AACF;;;ACjDO,IAAM,iBAAiB;AAAA,EAC5B,MAAM,gBAAI;AAAA,EACV,SAAS,gBAAI;AAAA,EACb,aAAa,gBAAI;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AACb;","names":[]}
|
package/dist/mcp-server.cjs
CHANGED
|
@@ -12552,6 +12552,7 @@ async function collabInit(params) {
|
|
|
12552
12552
|
uploadId: String(presign2.uploadId),
|
|
12553
12553
|
appName: params.appName?.trim() || import_path11.default.basename(repoRoot),
|
|
12554
12554
|
platform: "generic",
|
|
12555
|
+
profile: params.profile ?? void 0,
|
|
12555
12556
|
isPublic: false,
|
|
12556
12557
|
branch: defaultBranch && branchName && branchName !== defaultBranch ? defaultBranch : currentBranch ?? void 0,
|
|
12557
12558
|
remoteUrl: remoteUrl ?? void 0,
|
|
@@ -12750,6 +12751,7 @@ async function collabInit(params) {
|
|
|
12750
12751
|
appName: params.appName?.trim() || import_path11.default.basename(repoRoot),
|
|
12751
12752
|
path: params.path?.trim() || void 0,
|
|
12752
12753
|
platform: "generic",
|
|
12754
|
+
profile: params.profile ?? void 0,
|
|
12753
12755
|
isPublic: false,
|
|
12754
12756
|
branch: defaultBranch && branchName && branchName !== defaultBranch ? defaultBranch : currentBranch ?? void 0,
|
|
12755
12757
|
remoteUrl: remoteUrl ?? void 0,
|
|
@@ -14251,7 +14253,7 @@ async function drainAsyncJobs(opts) {
|
|
|
14251
14253
|
var import_mcp = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
14252
14254
|
var import_stdio3 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
14253
14255
|
|
|
14254
|
-
// node_modules/@remixhq/core/dist/chunk-
|
|
14256
|
+
// node_modules/@remixhq/core/dist/chunk-BNY4BVH6.js
|
|
14255
14257
|
async function readJsonSafe(res) {
|
|
14256
14258
|
const ct = res.headers.get("content-type") ?? "";
|
|
14257
14259
|
if (!ct.toLowerCase().includes("application/json")) return null;
|
|
@@ -14539,6 +14541,7 @@ function createApiClient(config, opts) {
|
|
|
14539
14541
|
return request(`/v1/apps${suffix}`, { method: "GET" });
|
|
14540
14542
|
},
|
|
14541
14543
|
getApp: (appId) => request(`/v1/apps/${encodeURIComponent(appId)}`, { method: "GET" }),
|
|
14544
|
+
openApp: (appId, payload) => request(`/v1/apps/${encodeURIComponent(appId)}/open`, { method: "POST", body: JSON.stringify(payload ?? {}) }),
|
|
14542
14545
|
getAppContext: (appId) => request(`/v1/apps/${encodeURIComponent(appId)}/context`, { method: "GET" }),
|
|
14543
14546
|
getAppOverview: (appId) => request(`/v1/apps/${encodeURIComponent(appId)}/overview`, { method: "GET" }),
|
|
14544
14547
|
listAppTimeline: (appId, params) => {
|
|
@@ -35596,16 +35599,19 @@ function createSupabaseAuthHelpers(config) {
|
|
|
35596
35599
|
};
|
|
35597
35600
|
}
|
|
35598
35601
|
|
|
35599
|
-
// node_modules/@remixhq/core/dist/chunk-
|
|
35602
|
+
// node_modules/@remixhq/core/dist/chunk-62JBEMJH.js
|
|
35600
35603
|
var import_zod2 = require("zod");
|
|
35601
35604
|
var DEFAULT_API_URL = "https://api.remix.one";
|
|
35602
35605
|
var DEFAULT_SUPABASE_URL = "https://iheivdccexqigeoiekvc.supabase.co";
|
|
35603
35606
|
var DEFAULT_SUPABASE_ANON_KEY = "sb_publishable_YipyrVON-lwzW3ugjE3T1g_cE2do_JW";
|
|
35604
|
-
|
|
35605
|
-
|
|
35606
|
-
|
|
35607
|
-
|
|
35608
|
-
|
|
35607
|
+
function createDefaultConfigRaw() {
|
|
35608
|
+
return {
|
|
35609
|
+
apiUrl: process.env.REMIX_API_URL ?? DEFAULT_API_URL,
|
|
35610
|
+
supabaseUrl: DEFAULT_SUPABASE_URL,
|
|
35611
|
+
supabaseAnonKey: DEFAULT_SUPABASE_ANON_KEY
|
|
35612
|
+
};
|
|
35613
|
+
}
|
|
35614
|
+
var defaultConfigRaw = createDefaultConfigRaw();
|
|
35609
35615
|
function isValidUrl(value) {
|
|
35610
35616
|
try {
|
|
35611
35617
|
new URL(value);
|
|
@@ -36085,6 +36091,27 @@ var mergeRequestQueueSchema = import_zod5.z.enum([
|
|
|
36085
36091
|
]);
|
|
36086
36092
|
var appScopedMergeRequestQueueSchema = import_zod5.z.enum(["app_reviewable", "app_outgoing", "app_related_visible"]);
|
|
36087
36093
|
var memberScopeSchema = import_zod5.z.enum(["organization", "project", "app"]);
|
|
36094
|
+
var appProfileCategorySchema = import_zod5.z.enum([
|
|
36095
|
+
"web_app",
|
|
36096
|
+
"mobile_app",
|
|
36097
|
+
"cli_tool",
|
|
36098
|
+
"api_service",
|
|
36099
|
+
"worker_service",
|
|
36100
|
+
"library_package",
|
|
36101
|
+
"docs_site",
|
|
36102
|
+
"monorepo",
|
|
36103
|
+
"unknown"
|
|
36104
|
+
]);
|
|
36105
|
+
var appProfileCapabilitySchema = import_zod5.z.enum([
|
|
36106
|
+
"web_preview",
|
|
36107
|
+
"runtime_install",
|
|
36108
|
+
"runtime_dev",
|
|
36109
|
+
"runtime_build",
|
|
36110
|
+
"runtime_test",
|
|
36111
|
+
"mobile_run",
|
|
36112
|
+
"package_build",
|
|
36113
|
+
"background_worker"
|
|
36114
|
+
]);
|
|
36088
36115
|
var statusInputSchema = {
|
|
36089
36116
|
...commonRequestFieldsSchema,
|
|
36090
36117
|
includeRemote: import_zod5.z.boolean().optional()
|
|
@@ -36092,7 +36119,18 @@ var statusInputSchema = {
|
|
|
36092
36119
|
var initInputSchema = {
|
|
36093
36120
|
...commonRequestFieldsSchema,
|
|
36094
36121
|
appName: import_zod5.z.string().trim().min(1).optional(),
|
|
36095
|
-
forceNew: import_zod5.z.boolean().optional()
|
|
36122
|
+
forceNew: import_zod5.z.boolean().optional(),
|
|
36123
|
+
profile: import_zod5.z.object({
|
|
36124
|
+
primaryCategory: appProfileCategorySchema.optional(),
|
|
36125
|
+
capabilities: import_zod5.z.array(appProfileCapabilitySchema).optional(),
|
|
36126
|
+
primaryPath: import_zod5.z.string().trim().min(1).nullable().optional(),
|
|
36127
|
+
components: import_zod5.z.array(import_zod5.z.record(import_zod5.z.string(), import_zod5.z.unknown())).optional(),
|
|
36128
|
+
frameworks: import_zod5.z.array(import_zod5.z.string().trim().min(1)).optional(),
|
|
36129
|
+
languages: import_zod5.z.array(import_zod5.z.string().trim().min(1)).optional(),
|
|
36130
|
+
source: import_zod5.z.enum(["manual", "cli", "cursor_plugin", "claude_plugin", "deterministic", "llm", "legacy_platform"]).optional(),
|
|
36131
|
+
confidence: import_zod5.z.enum(["manual", "high", "medium", "low"]).optional(),
|
|
36132
|
+
evidence: import_zod5.z.array(import_zod5.z.record(import_zod5.z.string(), import_zod5.z.unknown())).optional()
|
|
36133
|
+
}).optional()
|
|
36096
36134
|
};
|
|
36097
36135
|
var listInputSchema = {
|
|
36098
36136
|
requestId: import_zod5.z.string().trim().min(1).optional(),
|
|
@@ -36485,6 +36523,7 @@ async function initCollab(params) {
|
|
|
36485
36523
|
cwd: params.cwd,
|
|
36486
36524
|
appName: params.appName ?? null,
|
|
36487
36525
|
forceNew: params.forceNew ?? false,
|
|
36526
|
+
profile: params.profile,
|
|
36488
36527
|
asyncSubmit: false
|
|
36489
36528
|
});
|
|
36490
36529
|
if ("queued" in result && result.queued) {
|
|
@@ -37890,7 +37929,7 @@ function registerCollabTools(server, context) {
|
|
|
37890
37929
|
const api = await createApiClient2();
|
|
37891
37930
|
const trimmedAppId = input.appId?.trim();
|
|
37892
37931
|
const files = trimmedAppId ? void 0 : await readRuntimeDetectionFiles(repoRoot);
|
|
37893
|
-
const
|
|
37932
|
+
const detectedResult = unwrapResponseObject2(
|
|
37894
37933
|
await api.detectProjectRuntimeTargets(projectId, {
|
|
37895
37934
|
...scope,
|
|
37896
37935
|
apply,
|
|
@@ -37899,6 +37938,7 @@ function registerCollabTools(server, context) {
|
|
|
37899
37938
|
}),
|
|
37900
37939
|
"runtime targets detect"
|
|
37901
37940
|
);
|
|
37941
|
+
const detected = Array.isArray(detectedResult) ? detectedResult : detectedResult.targets;
|
|
37902
37942
|
const warnings = trimmedAppId ? ["Detection read files from the sandbox workspace for appId.", "Sandbox must exist for sandbox-backed detection."] : apply ? [`Applied ${detected.length} runtime target definitions.`] : ["Dry run only.", "Pass apply=true plus confirm=true to persist detected targets remotely."];
|
|
37903
37943
|
return {
|
|
37904
37944
|
data: { items: detected },
|
|
@@ -38397,7 +38437,12 @@ function registerCollabTools(server, context) {
|
|
|
38397
38437
|
const result = await initCollab({
|
|
38398
38438
|
cwd,
|
|
38399
38439
|
appName: input.appName,
|
|
38400
|
-
forceNew: input.forceNew
|
|
38440
|
+
forceNew: input.forceNew,
|
|
38441
|
+
profile: input.profile ? {
|
|
38442
|
+
...input.profile,
|
|
38443
|
+
source: input.profile.source ?? "cursor_plugin",
|
|
38444
|
+
confidence: input.profile.confidence ?? "high"
|
|
38445
|
+
} : void 0
|
|
38401
38446
|
});
|
|
38402
38447
|
try {
|
|
38403
38448
|
const repoRoot = result && typeof result === "object" && "data" in result && result.data && typeof result.data.repoRoot === "string" ? result.data.repoRoot : null;
|
|
@@ -40446,7 +40491,7 @@ async function listPendingTurnStateSummaries() {
|
|
|
40446
40491
|
// package.json
|
|
40447
40492
|
var package_default = {
|
|
40448
40493
|
name: "@remixhq/claude-plugin",
|
|
40449
|
-
version: "0.1.
|
|
40494
|
+
version: "0.1.28",
|
|
40450
40495
|
description: "Claude Code plugin for Remix collaboration workflows",
|
|
40451
40496
|
homepage: "https://github.com/RemixDotOne/remix-claude-plugin",
|
|
40452
40497
|
license: "MIT",
|
|
@@ -40484,8 +40529,8 @@ var package_default = {
|
|
|
40484
40529
|
prepack: "npm run build"
|
|
40485
40530
|
},
|
|
40486
40531
|
dependencies: {
|
|
40487
|
-
"@remixhq/core": "^0.1.
|
|
40488
|
-
"@remixhq/mcp": "^0.1.
|
|
40532
|
+
"@remixhq/core": "^0.1.23",
|
|
40533
|
+
"@remixhq/mcp": "^0.1.23",
|
|
40489
40534
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
40490
40535
|
zod: "^3.25.76"
|
|
40491
40536
|
},
|