@amsterdamdatalabs/enact-extensions 0.1.0
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/.agents/plugins/marketplace.json +20 -0
- package/README.md +88 -0
- package/catalog/enact-context.json +9 -0
- package/catalog/enact-factory.json +7 -0
- package/catalog/enact-operator.json +7 -0
- package/catalog/enact-wiki.json +7 -0
- package/catalog/net-revenue-management.json +8 -0
- package/dist/create/claude.d.ts +3 -0
- package/dist/create/claude.d.ts.map +1 -0
- package/dist/create/claude.js +12 -0
- package/dist/create/claude.js.map +1 -0
- package/dist/create/codex.d.ts +3 -0
- package/dist/create/codex.d.ts.map +1 -0
- package/dist/create/codex.js +14 -0
- package/dist/create/codex.js.map +1 -0
- package/dist/create/cursor.d.ts +3 -0
- package/dist/create/cursor.d.ts.map +1 -0
- package/dist/create/cursor.js +20 -0
- package/dist/create/cursor.js.map +1 -0
- package/dist/create/enact.d.ts +3 -0
- package/dist/create/enact.d.ts.map +1 -0
- package/dist/create/enact.js +32 -0
- package/dist/create/enact.js.map +1 -0
- package/dist/create/index.d.ts +18 -0
- package/dist/create/index.d.ts.map +1 -0
- package/dist/create/index.js +54 -0
- package/dist/create/index.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/install.d.ts +60 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +250 -0
- package/dist/install.js.map +1 -0
- package/dist/internal/claude.d.ts +16 -0
- package/dist/internal/claude.d.ts.map +1 -0
- package/dist/internal/claude.js +35 -0
- package/dist/internal/claude.js.map +1 -0
- package/dist/internal/codex.d.ts +43 -0
- package/dist/internal/codex.d.ts.map +1 -0
- package/dist/internal/codex.js +205 -0
- package/dist/internal/codex.js.map +1 -0
- package/dist/internal/cursor.d.ts +2 -0
- package/dist/internal/cursor.d.ts.map +1 -0
- package/dist/internal/cursor.js +6 -0
- package/dist/internal/cursor.js.map +1 -0
- package/dist/internal/io.d.ts +3 -0
- package/dist/internal/io.d.ts.map +1 -0
- package/dist/internal/io.js +11 -0
- package/dist/internal/io.js.map +1 -0
- package/dist/internal/pick.d.ts +4 -0
- package/dist/internal/pick.d.ts.map +1 -0
- package/dist/internal/pick.js +17 -0
- package/dist/internal/pick.js.map +1 -0
- package/dist/internal/platform.d.ts +21 -0
- package/dist/internal/platform.d.ts.map +1 -0
- package/dist/internal/platform.js +120 -0
- package/dist/internal/platform.js.map +1 -0
- package/dist/internal/schema.d.ts +5 -0
- package/dist/internal/schema.d.ts.map +1 -0
- package/dist/internal/schema.js +37 -0
- package/dist/internal/schema.js.map +1 -0
- package/dist/internal/types.d.ts +49 -0
- package/dist/internal/types.d.ts.map +1 -0
- package/dist/internal/types.js +2 -0
- package/dist/internal/types.js.map +1 -0
- package/dist/validate/claude.d.ts +3 -0
- package/dist/validate/claude.d.ts.map +1 -0
- package/dist/validate/claude.js +11 -0
- package/dist/validate/claude.js.map +1 -0
- package/dist/validate/codex.d.ts +3 -0
- package/dist/validate/codex.d.ts.map +1 -0
- package/dist/validate/codex.js +11 -0
- package/dist/validate/codex.js.map +1 -0
- package/dist/validate/cursor.d.ts +3 -0
- package/dist/validate/cursor.d.ts.map +1 -0
- package/dist/validate/cursor.js +11 -0
- package/dist/validate/cursor.js.map +1 -0
- package/dist/validate/enact.d.ts +4 -0
- package/dist/validate/enact.d.ts.map +1 -0
- package/dist/validate/enact.js +18 -0
- package/dist/validate/enact.js.map +1 -0
- package/dist/validate/index.d.ts +17 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +99 -0
- package/dist/validate/index.js.map +1 -0
- package/package.json +58 -0
- package/plugins/net-revenue-management/.codex-plugin/plugin.json +35 -0
- package/plugins/net-revenue-management/.mcp.json +9 -0
- package/plugins/net-revenue-management/skills/net-revenue-risks/SKILL.md +30 -0
- package/plugins/net-revenue-management/skills/net-revenue-scenario/SKILL.md +31 -0
- package/scripts/enact-extensions.mjs +105 -0
- package/scripts/install.sh +70 -0
- package/scripts/lib/resolve-plugin-root.mjs +9 -0
- package/scripts/lib/run-install.mjs +66 -0
- package/scripts/lib/run-sync.mjs +24 -0
- package/scripts/lib/run-validate.mjs +36 -0
- package/scripts/rename-supervisor-to-operator.pl +66 -0
- package/scripts/setup-enact-context.sh +23 -0
- package/scripts/sync-manifests.mjs +23 -0
- package/scripts/validate-catalog.mjs +37 -0
- package/scripts/validate-plugin.mjs +10 -0
- package/spec/claude.json +99 -0
- package/spec/claude.md +485 -0
- package/spec/codex.json +154 -0
- package/spec/codex.md +145 -0
- package/spec/cursor.json +88 -0
- package/spec/cursor.md +175 -0
- package/spec/enact.json +211 -0
- package/spec/enact.md +204 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "enact-extensions",
|
|
3
|
+
"interface": {
|
|
4
|
+
"displayName": "Enact Extensions"
|
|
5
|
+
},
|
|
6
|
+
"plugins": [
|
|
7
|
+
{
|
|
8
|
+
"name": "net-revenue-management",
|
|
9
|
+
"source": {
|
|
10
|
+
"source": "local",
|
|
11
|
+
"path": "./plugins/net-revenue-management"
|
|
12
|
+
},
|
|
13
|
+
"policy": {
|
|
14
|
+
"installation": "AVAILABLE",
|
|
15
|
+
"authentication": "ON_INSTALL"
|
|
16
|
+
},
|
|
17
|
+
"category": "Analytics"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# enact-extensions
|
|
2
|
+
|
|
3
|
+
Multi-surface **plugin manifest** tooling for Enact: schemas, validation, sync, and the plugin-dev toolkit for ENACT-native bundles plus derived Claude Code, Codex, and Cursor projections.
|
|
4
|
+
|
|
5
|
+
**Repository:** https://dev.azure.com/amsterdamdatalabs/Enact/_git/enact-extensions
|
|
6
|
+
**Package:** `@enact/extensions`
|
|
7
|
+
**CLI:** `enact-extensions`
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
This repo is the manifest tooling package (`@enact/extensions`) plus the bundled `plugin-dev` toolkit under `extensions/`. It owns:
|
|
12
|
+
|
|
13
|
+
- `spec/` — JSON schemas (canonical: `enact.json`) + per-host schemas (`claude-plugin.json`, `codex-plugin.json`, `cursor-plugin.json`)
|
|
14
|
+
- `src/` — `create/*` and `validate/*` TypeScript library
|
|
15
|
+
- `scripts/` — CLI: `enact-extensions` (`validate` | `sync` | `install`, path defaults to cwd)
|
|
16
|
+
- `extensions/` — distributable `plugin-dev` bundle (plugin-development skills, agents, commands)
|
|
17
|
+
- `catalog/` — registered sibling bundle roots for `validate:catalog` (ADR 0010)
|
|
18
|
+
|
|
19
|
+
It does **not** ship product plugins. The consumer product plugins — `enact-context`, `enact-factory`, `enact-operator`, `enact-wiki` — live as **sibling top-level submodules of `enact-os/`**, each owning its own `extensions/` bundle. They are listed in `catalog/` so this repo's `validate:catalog` script can audit them from a single place.
|
|
20
|
+
|
|
21
|
+
## Surface Contract
|
|
22
|
+
|
|
23
|
+
`extensions/.agents/plugin.json` is the canonical source manifest. `enact-extensions sync` derives `.claude-plugin/`, `.codex-plugin/`, and `.cursor-plugin/` from that source.
|
|
24
|
+
|
|
25
|
+
Author skills, commands, and hooks so they are valid on **all projected surfaces by default**:
|
|
26
|
+
|
|
27
|
+
- Prefer surface-neutral workflow language in `SKILL.md` and hook prompts.
|
|
28
|
+
- Treat ENACT-native `.agents/plugin.json` as the source of truth, not a sidecar.
|
|
29
|
+
- Only use host-specific details when they are truly required, and isolate them clearly in references or host-specific examples.
|
|
30
|
+
- Do not assume a Claude-only tool, env var, or lifecycle quirk unless the same contract exists on Codex and ENACT, or the skill explicitly scopes that instruction.
|
|
31
|
+
|
|
32
|
+
Do not add ad-hoc sibling packages here (for example legacy `enact-feed-*` MCP prototypes).
|
|
33
|
+
|
|
34
|
+
## Clone
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
git clone https://amsterdamdatalabs@dev.azure.com/amsterdamdatalabs/Enact/_git/enact-extensions
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This repo has no submodules of its own. Sibling product packages are submoduled by `enact-os/`, not by `enact-extensions/`.
|
|
41
|
+
|
|
42
|
+
## Workspace commands
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install
|
|
46
|
+
npm run build
|
|
47
|
+
npm run validate # validate this repo's own extensions/ bundle
|
|
48
|
+
npm run sync # regenerate host manifests for extensions/ from .agents/plugin.json
|
|
49
|
+
npm run validate:catalog
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
To validate a sibling product bundle (e.g. the operator package at `../enact-operator/extensions`):
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm run build
|
|
56
|
+
node scripts/enact-extensions.mjs validate ../enact-operator/extensions
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## CLI (`enact-extensions`)
|
|
60
|
+
|
|
61
|
+
Published from `@enact/extensions`. Path defaults to **cwd**:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
cd ../enact-operator/extensions
|
|
65
|
+
enact-extensions validate
|
|
66
|
+
enact-extensions sync
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Link locally:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm run build && npm link
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Layout
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
enact-extensions/ # @enact/extensions package root
|
|
79
|
+
├── src/ spec/ scripts/ # manifest library + CLI
|
|
80
|
+
├── extensions/ # plugin-dev toolkit bundle (this repo's own plugin)
|
|
81
|
+
└── catalog/ # registered sibling bundle roots (validate:catalog target)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## enact-os integration
|
|
85
|
+
|
|
86
|
+
`enact-os` submodules **this** repo at `enact-extensions/` for manifest tooling, and separately submodules the product packages (`enact-context`, `enact-factory`, `enact-operator`, `enact-wiki`) at top level. Factory and config paths in `enact-os/config.toml` target each product package by its top-level path.
|
|
87
|
+
|
|
88
|
+
Skill or manifest changes for a product plugin ship from that product's own `extensions/` bundle (e.g. `enact-operator/extensions/`); validate with `enact-extensions` from inside that bundle. `@enact/extensions` owns manifest tooling only; `enact-factory setup` or `enact-factory plugins delivery` persists the local install scope.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "net-revenue-management",
|
|
3
|
+
"repo": "enact-plugin-net-revenue-management",
|
|
4
|
+
"bundlePath": "plugins/net-revenue-management",
|
|
5
|
+
"manifestName": "net-revenue-management",
|
|
6
|
+
"operatorScope": "global",
|
|
7
|
+
"supportedAgents": ["claude", "codex", "enact", "cursor"]
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/create/claude.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAY1E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MANIFEST_FIELDS } from "../internal/platform.js";
|
|
2
|
+
import { pickManifestFields, withPlatformKeyword } from "../internal/pick.js";
|
|
3
|
+
export function deriveClaudeManifest(enact) {
|
|
4
|
+
const picked = pickManifestFields(enact, MANIFEST_FIELDS.claude);
|
|
5
|
+
return {
|
|
6
|
+
...picked,
|
|
7
|
+
description: (typeof picked.description === "string" ? picked.description : undefined) ??
|
|
8
|
+
`${enact.name} plugin for Claude Code.`,
|
|
9
|
+
keywords: withPlatformKeyword(Array.isArray(picked.keywords) ? picked.keywords : undefined, "claude"),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/create/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EACT,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,GAAG,KAAK,CAAC,IAAI,0BAA0B;QACzC,QAAQ,EAAE,mBAAmB,CAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,QAAqB,CAAC,CAAC,CAAC,SAAS,EAC1E,QAAQ,CACT;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/create/codex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAczE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MANIFEST_FIELDS } from "../internal/platform.js";
|
|
2
|
+
import { pickManifestFields, withPlatformKeyword } from "../internal/pick.js";
|
|
3
|
+
export function deriveCodexManifest(enact) {
|
|
4
|
+
const picked = pickManifestFields(enact, MANIFEST_FIELDS.codex);
|
|
5
|
+
const iface = enact.interface;
|
|
6
|
+
return {
|
|
7
|
+
...picked,
|
|
8
|
+
description: (typeof picked.description === "string" ? picked.description : undefined) ??
|
|
9
|
+
`${enact.name} plugin for Codex.`,
|
|
10
|
+
keywords: withPlatformKeyword(Array.isArray(picked.keywords) ? picked.keywords : undefined, "codex"),
|
|
11
|
+
...(iface && typeof iface === "object" ? { interface: iface } : {}),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/create/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,MAAM,UAAU,mBAAmB,CAAC,KAAqB;IACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EACT,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,GAAG,KAAK,CAAC,IAAI,oBAAoB;QACnC,QAAQ,EAAE,mBAAmB,CAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,QAAqB,CAAC,CAAC,CAAC,SAAS,EAC1E,OAAO,CACR;QACD,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/create/cursor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAsB1E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MANIFEST_FIELDS } from "../internal/platform.js";
|
|
2
|
+
import { pickManifestFields, withPlatformKeyword } from "../internal/pick.js";
|
|
3
|
+
export function deriveCursorManifest(enact) {
|
|
4
|
+
const picked = pickManifestFields(enact, MANIFEST_FIELDS.cursor);
|
|
5
|
+
const iface = enact.interface;
|
|
6
|
+
const logo = iface &&
|
|
7
|
+
typeof iface === "object" &&
|
|
8
|
+
"logo" in iface &&
|
|
9
|
+
typeof iface.logo === "string"
|
|
10
|
+
? iface.logo
|
|
11
|
+
: undefined;
|
|
12
|
+
return {
|
|
13
|
+
...picked,
|
|
14
|
+
description: (typeof picked.description === "string" ? picked.description : undefined) ??
|
|
15
|
+
`${enact.name} plugin for Cursor.`,
|
|
16
|
+
keywords: withPlatformKeyword(Array.isArray(picked.keywords) ? picked.keywords : undefined, "cursor"),
|
|
17
|
+
...(logo ? { logo } : {}),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/create/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,MAAM,UAAU,oBAAoB,CAAC,KAAqB;IACxD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,IAAI,GACR,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,OAAQ,KAA2B,CAAC,IAAI,KAAK,QAAQ;QACnD,CAAC,CAAE,KAA0B,CAAC,IAAI;QAClC,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EACT,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,GAAG,KAAK,CAAC,IAAI,qBAAqB;QACpC,QAAQ,EAAE,mBAAmB,CAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,QAAqB,CAAC,CAAC,CAAC,SAAS,EAC1E,QAAQ,CACT;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enact.d.ts","sourceRoot":"","sources":["../../src/create/enact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CA6B3E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DEFAULT_PATHS, DEFAULT_TARGETS } from "../internal/platform.js";
|
|
2
|
+
export function createEnactManifest(input) {
|
|
3
|
+
const name = input.name.trim();
|
|
4
|
+
if (!/^[a-z][a-z0-9-]*$/.test(name)) {
|
|
5
|
+
throw new Error(`Invalid plugin name "${name}". Use lowercase kebab-case (e.g. enact-operator).`);
|
|
6
|
+
}
|
|
7
|
+
const manifest = {
|
|
8
|
+
name,
|
|
9
|
+
version: input.version ?? "0.1.0",
|
|
10
|
+
description: input.description ?? `${name} plugin for Enact agents.`,
|
|
11
|
+
author: input.author ?? { name: "amsterdamdatalabs" },
|
|
12
|
+
license: input.license ?? "UNLICENSED",
|
|
13
|
+
targets: input.targets ?? [...DEFAULT_TARGETS],
|
|
14
|
+
skills: DEFAULT_PATHS.skills,
|
|
15
|
+
commands: DEFAULT_PATHS.commands,
|
|
16
|
+
hooks: DEFAULT_PATHS.hooks,
|
|
17
|
+
mcpServers: DEFAULT_PATHS.mcpServers,
|
|
18
|
+
keywords: input.keywords ?? ["enact", name],
|
|
19
|
+
};
|
|
20
|
+
if (input.homepage)
|
|
21
|
+
manifest.homepage = input.homepage;
|
|
22
|
+
if (input.repository)
|
|
23
|
+
manifest.repository = input.repository;
|
|
24
|
+
if (input.interface)
|
|
25
|
+
manifest.interface = input.interface;
|
|
26
|
+
if (input.factory)
|
|
27
|
+
manifest.factory = input.factory;
|
|
28
|
+
if (input.operator)
|
|
29
|
+
manifest.operator = input.operator;
|
|
30
|
+
return manifest;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=enact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enact.js","sourceRoot":"","sources":["../../src/create/enact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,oDAAoD,CACjF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAmB;QAC/B,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO;QACjC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG,IAAI,2BAA2B;QACpE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACrD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,YAAY;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,eAAe,CAAC;QAC9C,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;KAC5C,CAAC;IAEF,IAAI,KAAK,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvD,IAAI,KAAK,CAAC,UAAU;QAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7D,IAAI,KAAK,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACpD,IAAI,KAAK,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEvD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CreateEnactInput, Platform, PluginManifest, SyncResult, TargetPlatform } from "../internal/types.js";
|
|
2
|
+
export { createEnactManifest } from "./enact.js";
|
|
3
|
+
export { deriveClaudeManifest } from "./claude.js";
|
|
4
|
+
export { deriveCodexManifest } from "./codex.js";
|
|
5
|
+
export { deriveCursorManifest } from "./cursor.js";
|
|
6
|
+
export declare function deriveManifest(platform: TargetPlatform, enact: PluginManifest): PluginManifest;
|
|
7
|
+
export declare function resolveTargets(enact: PluginManifest): TargetPlatform[];
|
|
8
|
+
export type ScaffoldOptions = CreateEnactInput & {
|
|
9
|
+
pluginRoot: string;
|
|
10
|
+
scaffoldDirs?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare function scaffoldPlugin(options: ScaffoldOptions): {
|
|
13
|
+
enact: PluginManifest;
|
|
14
|
+
sync: SyncResult[];
|
|
15
|
+
};
|
|
16
|
+
export declare function syncPlatformManifests(pluginRoot: string, enact: PluginManifest, targets?: TargetPlatform[]): SyncResult[];
|
|
17
|
+
export declare function manifestForPlatform(platform: Platform, enact: PluginManifest): PluginManifest;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAWnD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,cAAc,GACpB,cAAc,CAEhB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,CAMtE;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAIF,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG;IACxD,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB,CASA;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,cAAc,EAAE,GACzB,UAAU,EAAE,CASd;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,GACpB,cAAc,CAKhB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { mkdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { DEFAULT_TARGETS, isTargetPlatform } from "../internal/platform.js";
|
|
4
|
+
import { writePlatformManifest } from "../internal/io.js";
|
|
5
|
+
import { createEnactManifest } from "./enact.js";
|
|
6
|
+
import { deriveClaudeManifest } from "./claude.js";
|
|
7
|
+
import { deriveCodexManifest } from "./codex.js";
|
|
8
|
+
import { deriveCursorManifest } from "./cursor.js";
|
|
9
|
+
export { createEnactManifest } from "./enact.js";
|
|
10
|
+
export { deriveClaudeManifest } from "./claude.js";
|
|
11
|
+
export { deriveCodexManifest } from "./codex.js";
|
|
12
|
+
export { deriveCursorManifest } from "./cursor.js";
|
|
13
|
+
const DERIVERS = {
|
|
14
|
+
claude: deriveClaudeManifest,
|
|
15
|
+
codex: deriveCodexManifest,
|
|
16
|
+
cursor: deriveCursorManifest,
|
|
17
|
+
};
|
|
18
|
+
export function deriveManifest(platform, enact) {
|
|
19
|
+
return DERIVERS[platform](enact);
|
|
20
|
+
}
|
|
21
|
+
export function resolveTargets(enact) {
|
|
22
|
+
const raw = enact.targets;
|
|
23
|
+
if (!Array.isArray(raw)) {
|
|
24
|
+
return [...DEFAULT_TARGETS];
|
|
25
|
+
}
|
|
26
|
+
return raw.filter((t) => typeof t === "string" && isTargetPlatform(t));
|
|
27
|
+
}
|
|
28
|
+
const COMPONENT_DIRS = ["skills", "commands", "hooks", "assets"];
|
|
29
|
+
export function scaffoldPlugin(options) {
|
|
30
|
+
const enact = createEnactManifest(options);
|
|
31
|
+
if (options.scaffoldDirs !== false) {
|
|
32
|
+
for (const dir of COMPONENT_DIRS) {
|
|
33
|
+
mkdirSync(join(options.pluginRoot, dir), { recursive: true });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const sync = syncPlatformManifests(options.pluginRoot, enact);
|
|
37
|
+
return { enact, sync };
|
|
38
|
+
}
|
|
39
|
+
export function syncPlatformManifests(pluginRoot, enact, targets) {
|
|
40
|
+
const results = [];
|
|
41
|
+
results.push(writePlatformManifest(pluginRoot, "enact", enact));
|
|
42
|
+
const selected = targets ?? resolveTargets(enact);
|
|
43
|
+
for (const platform of selected) {
|
|
44
|
+
results.push(writePlatformManifest(pluginRoot, platform, deriveManifest(platform, enact)));
|
|
45
|
+
}
|
|
46
|
+
return results;
|
|
47
|
+
}
|
|
48
|
+
export function manifestForPlatform(platform, enact) {
|
|
49
|
+
if (platform === "enact") {
|
|
50
|
+
return enact;
|
|
51
|
+
}
|
|
52
|
+
return deriveManifest(platform, enact);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,QAAQ,GAGV;IACF,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,mBAAmB;IAC1B,MAAM,EAAE,oBAAoB;CAC7B,CAAC;AAEF,MAAM,UAAU,cAAc,CAC5B,QAAwB,EACxB,KAAqB;IAErB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAuB,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAOD,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAE1E,MAAM,UAAU,cAAc,CAAC,OAAwB;IAIrD,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,KAAqB,EACrB,OAA0B;IAE1B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IAClD,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAkB,EAClB,KAAqB;IAErB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type { Platform, TargetPlatform, PluginManifest, ValidationResult, CreateEnactInput, SyncResult, } from "./internal/types.js";
|
|
2
|
+
export type { CodexConfig, CodexConfigProbe, CodexFeatureStatus, CodexInstallHomesOptions, } from "./internal/codex.js";
|
|
3
|
+
export { codexFeatureEnabled, readCodexFeatures } from "./internal/codex.js";
|
|
4
|
+
export { defaultClaudeHome, readKnownMarketplaces, writeKnownMarketplaces, registerLocalMarketplace, } from "./internal/claude.js";
|
|
5
|
+
export { defaultCursorHome } from "./internal/cursor.js";
|
|
6
|
+
export { MANIFEST_BY_PLATFORM, MANIFEST_FIELDS, manifestRelPath, DEFAULT_TARGETS, DEFAULT_PATHS, } from "./internal/platform.js";
|
|
7
|
+
export { defaultCodexHome, defaultEnactHome, ensureMarketplace, ensureMcpServer, isPluginEnabled, readCodexConfig, readCodexConfigProbe, resolveCodexInstallHomes, removeMcpServer, removePluginConfig, setPluginEnabled, writeCodexConfig, } from "./internal/codex.js";
|
|
8
|
+
export { createEnactManifest, deriveClaudeManifest, deriveCodexManifest, deriveCursorManifest, deriveManifest, resolveTargets, scaffoldPlugin, syncPlatformManifests, manifestForPlatform, } from "./create/index.js";
|
|
9
|
+
export { validateEnactManifest, assertEnactManifest, validateClaudeManifest, validateCodexManifest, validateCursorManifest, validateManifest, validatePluginManifest, validatePluginBundle, checkComponentPaths, checkPluginBundleComponentPaths, readManifestFile, } from "./validate/index.js";
|
|
10
|
+
export type { PluginValidationReport } from "./validate/index.js";
|
|
11
|
+
export type { ScaffoldOptions } from "./create/index.js";
|
|
12
|
+
export { installCodexPluginBundle, installPluginBundle, installClaudePluginBundle, installCursorPluginBundle, } from "./install.js";
|
|
13
|
+
export type { CodexPluginInstallOptions, CodexPluginInstallResult, MultiCodexPluginInstallOptions, MultiCodexPluginInstallResult, ClaudePluginInstallOptions, ClaudePluginInstallResult, CursorPluginInstallOptions, CursorPluginInstallResult, } from "./install.js";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,+BAA+B,EAC/B,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,cAAc,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { codexFeatureEnabled, readCodexFeatures } from "./internal/codex.js";
|
|
2
|
+
export { defaultClaudeHome, readKnownMarketplaces, writeKnownMarketplaces, registerLocalMarketplace, } from "./internal/claude.js";
|
|
3
|
+
export { defaultCursorHome } from "./internal/cursor.js";
|
|
4
|
+
export { MANIFEST_BY_PLATFORM, MANIFEST_FIELDS, manifestRelPath, DEFAULT_TARGETS, DEFAULT_PATHS, } from "./internal/platform.js";
|
|
5
|
+
export { defaultCodexHome, defaultEnactHome, ensureMarketplace, ensureMcpServer, isPluginEnabled, readCodexConfig, readCodexConfigProbe, resolveCodexInstallHomes, removeMcpServer, removePluginConfig, setPluginEnabled, writeCodexConfig, } from "./internal/codex.js";
|
|
6
|
+
export { createEnactManifest, deriveClaudeManifest, deriveCodexManifest, deriveCursorManifest, deriveManifest, resolveTargets, scaffoldPlugin, syncPlatformManifests, manifestForPlatform, } from "./create/index.js";
|
|
7
|
+
export { validateEnactManifest, assertEnactManifest, validateClaudeManifest, validateCodexManifest, validateCursorManifest, validateManifest, validatePluginManifest, validatePluginBundle, checkComponentPaths, checkPluginBundleComponentPaths, readManifestFile, } from "./validate/index.js";
|
|
8
|
+
export { installCodexPluginBundle, installPluginBundle, installClaudePluginBundle, installCursorPluginBundle, } from "./install.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,+BAA+B,EAC/B,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { SyncResult } from "./internal/types.js";
|
|
2
|
+
export interface CodexPluginInstallOptions {
|
|
3
|
+
pluginRoot: string;
|
|
4
|
+
codexHome?: string;
|
|
5
|
+
marketplaceName?: string;
|
|
6
|
+
enable?: boolean;
|
|
7
|
+
sync?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface MultiCodexPluginInstallOptions extends CodexPluginInstallOptions {
|
|
10
|
+
cwd?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CodexPluginInstallResult {
|
|
13
|
+
name: string;
|
|
14
|
+
version: string;
|
|
15
|
+
marketplaceName: string;
|
|
16
|
+
pluginConfigKey: string;
|
|
17
|
+
configPath: string;
|
|
18
|
+
marketplacePath: string;
|
|
19
|
+
marketplacePluginPath: string;
|
|
20
|
+
installedPluginPath: string;
|
|
21
|
+
cachePluginPath: string;
|
|
22
|
+
refreshedPaths: string[];
|
|
23
|
+
syncResults: SyncResult[];
|
|
24
|
+
}
|
|
25
|
+
export interface MultiCodexPluginInstallResult {
|
|
26
|
+
codexHomes: string[];
|
|
27
|
+
results: CodexPluginInstallResult[];
|
|
28
|
+
}
|
|
29
|
+
export interface ClaudePluginInstallOptions {
|
|
30
|
+
pluginRoot: string;
|
|
31
|
+
claudeHome?: string;
|
|
32
|
+
marketplaceName?: string;
|
|
33
|
+
sync?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface ClaudePluginInstallResult {
|
|
36
|
+
name: string;
|
|
37
|
+
version: string;
|
|
38
|
+
marketplaceName: string;
|
|
39
|
+
marketplaceDir: string;
|
|
40
|
+
installedPluginPath: string;
|
|
41
|
+
refreshedPaths: string[];
|
|
42
|
+
syncResults: SyncResult[];
|
|
43
|
+
}
|
|
44
|
+
export interface CursorPluginInstallOptions {
|
|
45
|
+
pluginRoot: string;
|
|
46
|
+
cursorHome?: string;
|
|
47
|
+
sync?: boolean;
|
|
48
|
+
}
|
|
49
|
+
export interface CursorPluginInstallResult {
|
|
50
|
+
name: string;
|
|
51
|
+
version: string;
|
|
52
|
+
installedPluginPath: string;
|
|
53
|
+
refreshedPaths: string[];
|
|
54
|
+
syncResults: SyncResult[];
|
|
55
|
+
}
|
|
56
|
+
export declare function installCodexPluginBundle(options: CodexPluginInstallOptions): CodexPluginInstallResult;
|
|
57
|
+
export declare function installPluginBundle(options: MultiCodexPluginInstallOptions): MultiCodexPluginInstallResult;
|
|
58
|
+
export declare function installClaudePluginBundle(options: ClaudePluginInstallOptions): ClaudePluginInstallResult;
|
|
59
|
+
export declare function installCursorPluginBundle(options: CursorPluginInstallOptions): CursorPluginInstallResult;
|
|
60
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAkB,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAYtF,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,8BAA+B,SAAQ,yBAAyB;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AA0KD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,wBAAwB,CAoDrG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,8BAA8B,GAAG,6BAA6B,CAY1G;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,yBAAyB,CA2BxG;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,yBAAyB,CAsBxG"}
|