wp-typia 0.20.2 → 0.20.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist-bunli/.bunli/commands.gen.js +3500 -654
- package/dist-bunli/{cli-qpt5dt0x.js → cli-2rev5hqm.js} +1 -1
- package/dist-bunli/{cli-rg481yks.js → cli-3w3qxq9w.js} +189 -2
- package/dist-bunli/{cli-n4m6yqz1.js → cli-68145vb5.js} +4 -4
- package/dist-bunli/{cli-add-dcr8ek9z.js → cli-add-a27wjrk4.js} +2248 -127
- package/dist-bunli/{cli-32rf304y.js → cli-c5021kqy.js} +276 -4
- package/dist-bunli/{cli-doctor-3myz5bd3.js → cli-doctor-31djnnxs.js} +118 -3
- package/dist-bunli/{cli-scaffold-w5f4zbz1.js → cli-scaffold-r0yxfhbq.js} +3 -3
- package/dist-bunli/cli.js +2 -2
- package/dist-bunli/{command-list-5xp9pjyy.js → command-list-kx7q3f18.js} +162 -34
- package/dist-bunli/{migrations-fanyw571.js → migrations-1p6mbkyw.js} +2 -2
- package/dist-bunli/node-cli.js +163 -32
- package/package.json +2 -2
|
@@ -171027,6 +171027,8 @@ var ADD_KIND_IDS = [
|
|
|
171027
171027
|
"pattern",
|
|
171028
171028
|
"binding-source",
|
|
171029
171029
|
"rest-resource",
|
|
171030
|
+
"ability",
|
|
171031
|
+
"ai-feature",
|
|
171030
171032
|
"hooked-block",
|
|
171031
171033
|
"editor-plugin"
|
|
171032
171034
|
];
|
|
@@ -171229,6 +171231,32 @@ function assertRestResourceDoesNotExist(projectDir, restResourceSlug, inventory)
|
|
|
171229
171231
|
throw new Error(`A REST resource inventory entry already exists for ${restResourceSlug}. Choose a different name.`);
|
|
171230
171232
|
}
|
|
171231
171233
|
}
|
|
171234
|
+
function assertAbilityDoesNotExist(projectDir, abilitySlug, inventory) {
|
|
171235
|
+
const abilityDir = path.join(projectDir, "src", "abilities", abilitySlug);
|
|
171236
|
+
const abilityPhpPath = path.join(projectDir, "inc", "abilities", `${abilitySlug}.php`);
|
|
171237
|
+
if (fs.existsSync(abilityDir)) {
|
|
171238
|
+
throw new Error(`An ability scaffold already exists at ${path.relative(projectDir, abilityDir)}. Choose a different name.`);
|
|
171239
|
+
}
|
|
171240
|
+
if (fs.existsSync(abilityPhpPath)) {
|
|
171241
|
+
throw new Error(`An ability bootstrap already exists at ${path.relative(projectDir, abilityPhpPath)}. Choose a different name.`);
|
|
171242
|
+
}
|
|
171243
|
+
if (inventory.abilities.some((entry) => entry.slug === abilitySlug)) {
|
|
171244
|
+
throw new Error(`An ability inventory entry already exists for ${abilitySlug}. Choose a different name.`);
|
|
171245
|
+
}
|
|
171246
|
+
}
|
|
171247
|
+
function assertAiFeatureDoesNotExist(projectDir, aiFeatureSlug, inventory) {
|
|
171248
|
+
const aiFeatureDir = path.join(projectDir, "src", "ai-features", aiFeatureSlug);
|
|
171249
|
+
const aiFeaturePhpPath = path.join(projectDir, "inc", "ai-features", `${aiFeatureSlug}.php`);
|
|
171250
|
+
if (fs.existsSync(aiFeatureDir)) {
|
|
171251
|
+
throw new Error(`An AI feature already exists at ${path.relative(projectDir, aiFeatureDir)}. Choose a different name.`);
|
|
171252
|
+
}
|
|
171253
|
+
if (fs.existsSync(aiFeaturePhpPath)) {
|
|
171254
|
+
throw new Error(`An AI feature bootstrap already exists at ${path.relative(projectDir, aiFeaturePhpPath)}. Choose a different name.`);
|
|
171255
|
+
}
|
|
171256
|
+
if (inventory.aiFeatures.some((entry) => entry.slug === aiFeatureSlug)) {
|
|
171257
|
+
throw new Error(`An AI feature inventory entry already exists for ${aiFeatureSlug}. Choose a different name.`);
|
|
171258
|
+
}
|
|
171259
|
+
}
|
|
171232
171260
|
function assertEditorPluginDoesNotExist(projectDir, editorPluginSlug, inventory) {
|
|
171233
171261
|
const editorPluginDir = path.join(projectDir, "src", "editor-plugins", editorPluginSlug);
|
|
171234
171262
|
if (fs.existsSync(editorPluginDir)) {
|
|
@@ -171245,6 +171273,8 @@ function formatAddHelpText() {
|
|
|
171245
171273
|
wp-typia add pattern <name> [--dry-run]
|
|
171246
171274
|
wp-typia add binding-source <name> [--dry-run]
|
|
171247
171275
|
wp-typia add rest-resource <name> [--namespace <vendor/v1>] [--methods <list,read,create,update,delete>] [--dry-run]
|
|
171276
|
+
wp-typia add ability <name> [--dry-run]
|
|
171277
|
+
wp-typia add ai-feature <name> [--namespace <vendor/v1>] [--dry-run]
|
|
171248
171278
|
wp-typia add hooked-block <block-slug> --anchor <anchor-block-name> --position <${HOOKED_BLOCK_POSITION_IDS.join("|")}> [--dry-run]
|
|
171249
171279
|
wp-typia add editor-plugin <name> [--slot <${EDITOR_PLUGIN_SLOT_IDS.join("|")}>] [--dry-run]
|
|
171250
171280
|
|
|
@@ -171256,6 +171286,8 @@ Notes:
|
|
|
171256
171286
|
\`add pattern\` scaffolds a namespaced PHP pattern shell under \`src/patterns/\`.
|
|
171257
171287
|
\`add binding-source\` scaffolds shared PHP and editor registration under \`src/bindings/\`.
|
|
171258
171288
|
\`add rest-resource\` scaffolds plugin-level TypeScript REST contracts under \`src/rest/\` and PHP route glue under \`inc/rest/\`.
|
|
171289
|
+
\`add ability\` scaffolds typed workflow abilities under \`src/abilities/\` and server registration under \`inc/abilities/\`.
|
|
171290
|
+
\`add ai-feature\` scaffolds server-owned AI feature endpoints under \`src/ai-features/\` and PHP route glue under \`inc/ai-features/\`.
|
|
171259
171291
|
\`add hooked-block\` patches an existing workspace block's \`block.json\` \`blockHooks\` metadata.
|
|
171260
171292
|
\`add editor-plugin\` scaffolds a document-level editor extension under \`src/editor-plugins/\`.`;
|
|
171261
171293
|
}
|
|
@@ -171270,6 +171302,8 @@ var VARIATION_CONFIG_ENTRY_MARKER = "\t// wp-typia add variation entries";
|
|
|
171270
171302
|
var PATTERN_CONFIG_ENTRY_MARKER = "\t// wp-typia add pattern entries";
|
|
171271
171303
|
var BINDING_SOURCE_CONFIG_ENTRY_MARKER = "\t// wp-typia add binding-source entries";
|
|
171272
171304
|
var REST_RESOURCE_CONFIG_ENTRY_MARKER = "\t// wp-typia add rest-resource entries";
|
|
171305
|
+
var ABILITY_CONFIG_ENTRY_MARKER = "\t// wp-typia add ability entries";
|
|
171306
|
+
var AI_FEATURE_CONFIG_ENTRY_MARKER = "\t// wp-typia add ai-feature entries";
|
|
171273
171307
|
var EDITOR_PLUGIN_CONFIG_ENTRY_MARKER = "\t// wp-typia add editor-plugin entries";
|
|
171274
171308
|
var VARIATIONS_INTERFACE_SECTION = `
|
|
171275
171309
|
|
|
@@ -171336,6 +171370,62 @@ export const REST_RESOURCES: WorkspaceRestResourceConfig[] = [
|
|
|
171336
171370
|
// wp-typia add rest-resource entries
|
|
171337
171371
|
];
|
|
171338
171372
|
`;
|
|
171373
|
+
var WORKSPACE_COMPATIBILITY_CONFIG_FIELD = ` compatibility?: {
|
|
171374
|
+
hardMinimums: {
|
|
171375
|
+
php?: string;
|
|
171376
|
+
wordpress?: string;
|
|
171377
|
+
};
|
|
171378
|
+
mode: 'baseline' | 'optional' | 'required';
|
|
171379
|
+
optionalFeatures: string[];
|
|
171380
|
+
requiredFeatures: string[];
|
|
171381
|
+
runtimeGates: string[];
|
|
171382
|
+
};
|
|
171383
|
+
`;
|
|
171384
|
+
var ABILITIES_INTERFACE_SECTION = `
|
|
171385
|
+
|
|
171386
|
+
export interface WorkspaceAbilityConfig {
|
|
171387
|
+
clientFile: string;
|
|
171388
|
+
${WORKSPACE_COMPATIBILITY_CONFIG_FIELD} configFile: string;
|
|
171389
|
+
dataFile: string;
|
|
171390
|
+
inputSchemaFile: string;
|
|
171391
|
+
inputTypeName: string;
|
|
171392
|
+
outputSchemaFile: string;
|
|
171393
|
+
outputTypeName: string;
|
|
171394
|
+
phpFile: string;
|
|
171395
|
+
slug: string;
|
|
171396
|
+
typesFile: string;
|
|
171397
|
+
}
|
|
171398
|
+
`;
|
|
171399
|
+
var ABILITIES_CONST_SECTION = `
|
|
171400
|
+
|
|
171401
|
+
export const ABILITIES: WorkspaceAbilityConfig[] = [
|
|
171402
|
+
// wp-typia add ability entries
|
|
171403
|
+
];
|
|
171404
|
+
`;
|
|
171405
|
+
var AI_FEATURES_INTERFACE_SECTION = `
|
|
171406
|
+
|
|
171407
|
+
export interface WorkspaceAiFeatureConfig {
|
|
171408
|
+
aiSchemaFile: string;
|
|
171409
|
+
apiFile: string;
|
|
171410
|
+
clientFile: string;
|
|
171411
|
+
${WORKSPACE_COMPATIBILITY_CONFIG_FIELD} dataFile: string;
|
|
171412
|
+
namespace: string;
|
|
171413
|
+
openApiFile: string;
|
|
171414
|
+
phpFile: string;
|
|
171415
|
+
restManifest?: ReturnType<
|
|
171416
|
+
typeof import( '@wp-typia/block-runtime/metadata-core' ).defineEndpointManifest
|
|
171417
|
+
>;
|
|
171418
|
+
slug: string;
|
|
171419
|
+
typesFile: string;
|
|
171420
|
+
validatorsFile: string;
|
|
171421
|
+
}
|
|
171422
|
+
`;
|
|
171423
|
+
var AI_FEATURES_CONST_SECTION = `
|
|
171424
|
+
|
|
171425
|
+
export const AI_FEATURES: WorkspaceAiFeatureConfig[] = [
|
|
171426
|
+
// wp-typia add ai-feature entries
|
|
171427
|
+
];
|
|
171428
|
+
`;
|
|
171339
171429
|
var EDITOR_PLUGINS_INTERFACE_SECTION = `
|
|
171340
171430
|
|
|
171341
171431
|
export interface WorkspaceEditorPluginConfig {
|
|
@@ -171502,6 +171592,44 @@ function parseRestResourceEntries(arrayLiteral) {
|
|
|
171502
171592
|
};
|
|
171503
171593
|
});
|
|
171504
171594
|
}
|
|
171595
|
+
function parseAiFeatureEntries(arrayLiteral) {
|
|
171596
|
+
return arrayLiteral.elements.map((element, elementIndex) => {
|
|
171597
|
+
if (!import_typescript.default.isObjectLiteralExpression(element)) {
|
|
171598
|
+
throw new Error(`AI_FEATURES[${elementIndex}] must be an object literal in scripts/block-config.ts.`);
|
|
171599
|
+
}
|
|
171600
|
+
return {
|
|
171601
|
+
aiSchemaFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "aiSchemaFile"),
|
|
171602
|
+
apiFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "apiFile"),
|
|
171603
|
+
clientFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "clientFile"),
|
|
171604
|
+
dataFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "dataFile"),
|
|
171605
|
+
namespace: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "namespace"),
|
|
171606
|
+
openApiFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "openApiFile"),
|
|
171607
|
+
phpFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "phpFile"),
|
|
171608
|
+
slug: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "slug"),
|
|
171609
|
+
typesFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "typesFile"),
|
|
171610
|
+
validatorsFile: getRequiredStringProperty("AI_FEATURES", elementIndex, element, "validatorsFile")
|
|
171611
|
+
};
|
|
171612
|
+
});
|
|
171613
|
+
}
|
|
171614
|
+
function parseAbilityEntries(arrayLiteral) {
|
|
171615
|
+
return arrayLiteral.elements.map((element, elementIndex) => {
|
|
171616
|
+
if (!import_typescript.default.isObjectLiteralExpression(element)) {
|
|
171617
|
+
throw new Error(`ABILITIES[${elementIndex}] must be an object literal in scripts/block-config.ts.`);
|
|
171618
|
+
}
|
|
171619
|
+
return {
|
|
171620
|
+
clientFile: getRequiredStringProperty("ABILITIES", elementIndex, element, "clientFile"),
|
|
171621
|
+
configFile: getRequiredStringProperty("ABILITIES", elementIndex, element, "configFile"),
|
|
171622
|
+
dataFile: getRequiredStringProperty("ABILITIES", elementIndex, element, "dataFile"),
|
|
171623
|
+
inputSchemaFile: getRequiredStringProperty("ABILITIES", elementIndex, element, "inputSchemaFile"),
|
|
171624
|
+
inputTypeName: getRequiredStringProperty("ABILITIES", elementIndex, element, "inputTypeName"),
|
|
171625
|
+
outputSchemaFile: getRequiredStringProperty("ABILITIES", elementIndex, element, "outputSchemaFile"),
|
|
171626
|
+
outputTypeName: getRequiredStringProperty("ABILITIES", elementIndex, element, "outputTypeName"),
|
|
171627
|
+
phpFile: getRequiredStringProperty("ABILITIES", elementIndex, element, "phpFile"),
|
|
171628
|
+
slug: getRequiredStringProperty("ABILITIES", elementIndex, element, "slug"),
|
|
171629
|
+
typesFile: getRequiredStringProperty("ABILITIES", elementIndex, element, "typesFile")
|
|
171630
|
+
};
|
|
171631
|
+
});
|
|
171632
|
+
}
|
|
171505
171633
|
function parseEditorPluginEntries(arrayLiteral) {
|
|
171506
171634
|
return arrayLiteral.elements.map((element, elementIndex) => {
|
|
171507
171635
|
if (!import_typescript.default.isObjectLiteralExpression(element)) {
|
|
@@ -171524,6 +171652,8 @@ function parseWorkspaceInventorySource(source) {
|
|
|
171524
171652
|
const patternArray = findExportedArrayLiteral(sourceFile, "PATTERNS");
|
|
171525
171653
|
const bindingSourceArray = findExportedArrayLiteral(sourceFile, "BINDING_SOURCES");
|
|
171526
171654
|
const restResourceArray = findExportedArrayLiteral(sourceFile, "REST_RESOURCES");
|
|
171655
|
+
const abilityArray = findExportedArrayLiteral(sourceFile, "ABILITIES");
|
|
171656
|
+
const aiFeatureArray = findExportedArrayLiteral(sourceFile, "AI_FEATURES");
|
|
171527
171657
|
const editorPluginArray = findExportedArrayLiteral(sourceFile, "EDITOR_PLUGINS");
|
|
171528
171658
|
if (variationArray.found && !variationArray.array) {
|
|
171529
171659
|
throw new Error("scripts/block-config.ts must export VARIATIONS as an array literal.");
|
|
@@ -171537,12 +171667,22 @@ function parseWorkspaceInventorySource(source) {
|
|
|
171537
171667
|
if (restResourceArray.found && !restResourceArray.array) {
|
|
171538
171668
|
throw new Error("scripts/block-config.ts must export REST_RESOURCES as an array literal.");
|
|
171539
171669
|
}
|
|
171670
|
+
if (abilityArray.found && !abilityArray.array) {
|
|
171671
|
+
throw new Error("scripts/block-config.ts must export ABILITIES as an array literal.");
|
|
171672
|
+
}
|
|
171673
|
+
if (aiFeatureArray.found && !aiFeatureArray.array) {
|
|
171674
|
+
throw new Error("scripts/block-config.ts must export AI_FEATURES as an array literal.");
|
|
171675
|
+
}
|
|
171540
171676
|
if (editorPluginArray.found && !editorPluginArray.array) {
|
|
171541
171677
|
throw new Error("scripts/block-config.ts must export EDITOR_PLUGINS as an array literal.");
|
|
171542
171678
|
}
|
|
171543
171679
|
return {
|
|
171680
|
+
abilities: abilityArray.array ? parseAbilityEntries(abilityArray.array) : [],
|
|
171681
|
+
aiFeatures: aiFeatureArray.array ? parseAiFeatureEntries(aiFeatureArray.array) : [],
|
|
171544
171682
|
bindingSources: bindingSourceArray.array ? parseBindingSourceEntries(bindingSourceArray.array) : [],
|
|
171545
171683
|
blocks: parseBlockEntries(blockArray.array),
|
|
171684
|
+
hasAbilitiesSection: abilityArray.found,
|
|
171685
|
+
hasAiFeaturesSection: aiFeatureArray.found,
|
|
171546
171686
|
hasBindingSourcesSection: bindingSourceArray.found,
|
|
171547
171687
|
hasEditorPluginsSection: editorPluginArray.found,
|
|
171548
171688
|
hasPatternsSection: patternArray.found,
|
|
@@ -171604,6 +171744,18 @@ function ensureWorkspaceInventorySections(source) {
|
|
|
171604
171744
|
if (!/export\s+const\s+REST_RESOURCES\b/u.test(nextSource)) {
|
|
171605
171745
|
nextSource += REST_RESOURCES_CONST_SECTION;
|
|
171606
171746
|
}
|
|
171747
|
+
if (!/export\s+interface\s+WorkspaceAbilityConfig\b/u.test(nextSource)) {
|
|
171748
|
+
nextSource += ABILITIES_INTERFACE_SECTION;
|
|
171749
|
+
}
|
|
171750
|
+
if (!/export\s+const\s+ABILITIES\b/u.test(nextSource)) {
|
|
171751
|
+
nextSource += ABILITIES_CONST_SECTION;
|
|
171752
|
+
}
|
|
171753
|
+
if (!/export\s+interface\s+WorkspaceAiFeatureConfig\b/u.test(nextSource)) {
|
|
171754
|
+
nextSource += AI_FEATURES_INTERFACE_SECTION;
|
|
171755
|
+
}
|
|
171756
|
+
if (!/export\s+const\s+AI_FEATURES\b/u.test(nextSource)) {
|
|
171757
|
+
nextSource += AI_FEATURES_CONST_SECTION;
|
|
171758
|
+
}
|
|
171607
171759
|
if (!/export\s+interface\s+WorkspaceEditorPluginConfig\b/u.test(nextSource)) {
|
|
171608
171760
|
nextSource += EDITOR_PLUGINS_INTERFACE_SECTION;
|
|
171609
171761
|
}
|
|
@@ -171624,9 +171776,40 @@ function appendEntriesAtMarker(source, marker, entries) {
|
|
|
171624
171776
|
`)}
|
|
171625
171777
|
${marker}`);
|
|
171626
171778
|
}
|
|
171779
|
+
function escapeRegex(value) {
|
|
171780
|
+
return value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
|
|
171781
|
+
}
|
|
171782
|
+
function ensureInterfaceField(source, interfaceName, fieldName, fieldSource) {
|
|
171783
|
+
const interfacePattern = new RegExp(`(export\\s+interface\\s+${escapeRegex(interfaceName)}\\s*\\{\\r?\\n)([\\s\\S]*?)(\\r?\\n\\})`, "u");
|
|
171784
|
+
return source.replace(interfacePattern, (match, start, body, end) => {
|
|
171785
|
+
if (new RegExp(`^[ ]*${escapeRegex(fieldName)}\\??:`, "mu").test(body)) {
|
|
171786
|
+
return match;
|
|
171787
|
+
}
|
|
171788
|
+
const lineEnding = start.endsWith(`\r
|
|
171789
|
+
`) ? `\r
|
|
171790
|
+
` : `
|
|
171791
|
+
`;
|
|
171792
|
+
const formattedFieldSource = `${fieldSource.replace(/\r?\n$/u, "").split(`
|
|
171793
|
+
`).join(lineEnding)}${lineEnding}`;
|
|
171794
|
+
const memberPattern = /^[ \t]*([A-Za-z_$][\w$]*)\??:/gmu;
|
|
171795
|
+
for (const member of body.matchAll(memberPattern)) {
|
|
171796
|
+
const memberIndex = member.index;
|
|
171797
|
+
const memberName = member[1];
|
|
171798
|
+
if (memberIndex === undefined || !memberName) {
|
|
171799
|
+
continue;
|
|
171800
|
+
}
|
|
171801
|
+
if (memberName.localeCompare(fieldName) > 0) {
|
|
171802
|
+
return `${start}${body.slice(0, memberIndex)}${formattedFieldSource}${body.slice(memberIndex)}${end}`;
|
|
171803
|
+
}
|
|
171804
|
+
}
|
|
171805
|
+
return `${start}${body}${body.length > 0 && !body.endsWith(lineEnding) ? lineEnding : ""}${formattedFieldSource}${end}`;
|
|
171806
|
+
});
|
|
171807
|
+
}
|
|
171627
171808
|
function updateWorkspaceInventorySource(source, {
|
|
171628
171809
|
blockEntries = [],
|
|
171629
171810
|
bindingSourceEntries = [],
|
|
171811
|
+
abilityEntries = [],
|
|
171812
|
+
aiFeatureEntries = [],
|
|
171630
171813
|
editorPluginEntries = [],
|
|
171631
171814
|
patternEntries = [],
|
|
171632
171815
|
restResourceEntries = [],
|
|
@@ -171642,6 +171825,10 @@ function updateWorkspaceInventorySource(source, {
|
|
|
171642
171825
|
nextSource = appendEntriesAtMarker(nextSource, PATTERN_CONFIG_ENTRY_MARKER, patternEntries);
|
|
171643
171826
|
nextSource = appendEntriesAtMarker(nextSource, BINDING_SOURCE_CONFIG_ENTRY_MARKER, bindingSourceEntries);
|
|
171644
171827
|
nextSource = appendEntriesAtMarker(nextSource, REST_RESOURCE_CONFIG_ENTRY_MARKER, restResourceEntries);
|
|
171828
|
+
nextSource = appendEntriesAtMarker(nextSource, ABILITY_CONFIG_ENTRY_MARKER, abilityEntries);
|
|
171829
|
+
nextSource = appendEntriesAtMarker(nextSource, AI_FEATURE_CONFIG_ENTRY_MARKER, aiFeatureEntries);
|
|
171830
|
+
nextSource = ensureInterfaceField(nextSource, "WorkspaceAbilityConfig", "compatibility", WORKSPACE_COMPATIBILITY_CONFIG_FIELD);
|
|
171831
|
+
nextSource = ensureInterfaceField(nextSource, "WorkspaceAiFeatureConfig", "compatibility", WORKSPACE_COMPATIBILITY_CONFIG_FIELD);
|
|
171645
171832
|
nextSource = appendEntriesAtMarker(nextSource, EDITOR_PLUGIN_CONFIG_ENTRY_MARKER, editorPluginEntries);
|
|
171646
171833
|
return nextSource;
|
|
171647
171834
|
}
|
|
@@ -171654,6 +171841,6 @@ async function appendWorkspaceInventoryEntries(projectDir, options) {
|
|
|
171654
171841
|
}
|
|
171655
171842
|
}
|
|
171656
171843
|
|
|
171657
|
-
export { HOOKED_BLOCK_POSITION_SET, HOOKED_BLOCK_ANCHOR_PATTERN, toKebabCase, toSnakeCase, toPascalCase, toSegmentPascalCase, toTitleCase, validateBlockSlug, validateNamespace, normalizeBlockSlug, resolveNonEmptyNormalizedBlockSlug, buildBlockCssClassName, buildFrontendCssClassName, resolveScaffoldIdentifiers, ADD_KIND_IDS, REST_RESOURCE_METHOD_IDS, EDITOR_PLUGIN_SLOT_IDS, ADD_BLOCK_TEMPLATE_IDS, REST_RESOURCE_NAMESPACE_PATTERN, assertValidGeneratedSlug, resolveRestResourceNamespace, assertValidRestResourceMethods, assertValidHookedBlockPosition, getWorkspaceBootstrapPath, buildWorkspacePhpPrefix, isAddBlockTemplateId, quoteTsString, patchFile, readOptionalFile, snapshotWorkspaceFiles, rollbackWorkspaceMutation, resolveWorkspaceBlock, assertValidHookAnchor, assertValidEditorPluginSlot, readWorkspaceBlockJson, getMutableBlockHooks, assertVariationDoesNotExist, assertPatternDoesNotExist, assertBindingSourceDoesNotExist, assertRestResourceDoesNotExist, assertEditorPluginDoesNotExist, formatAddHelpText, readWorkspaceInventory, getWorkspaceBlockSelectOptions, appendWorkspaceInventoryEntries };
|
|
171844
|
+
export { HOOKED_BLOCK_POSITION_SET, HOOKED_BLOCK_ANCHOR_PATTERN, toKebabCase, toSnakeCase, toPascalCase, toSegmentPascalCase, toTitleCase, validateBlockSlug, validateNamespace, normalizeBlockSlug, resolveNonEmptyNormalizedBlockSlug, buildBlockCssClassName, buildFrontendCssClassName, resolveScaffoldIdentifiers, ADD_KIND_IDS, REST_RESOURCE_METHOD_IDS, EDITOR_PLUGIN_SLOT_IDS, ADD_BLOCK_TEMPLATE_IDS, REST_RESOURCE_NAMESPACE_PATTERN, assertValidGeneratedSlug, resolveRestResourceNamespace, assertValidRestResourceMethods, assertValidHookedBlockPosition, getWorkspaceBootstrapPath, buildWorkspacePhpPrefix, isAddBlockTemplateId, quoteTsString, patchFile, readOptionalFile, snapshotWorkspaceFiles, rollbackWorkspaceMutation, resolveWorkspaceBlock, assertValidHookAnchor, assertValidEditorPluginSlot, readWorkspaceBlockJson, getMutableBlockHooks, assertVariationDoesNotExist, assertPatternDoesNotExist, assertBindingSourceDoesNotExist, assertRestResourceDoesNotExist, assertAbilityDoesNotExist, assertAiFeatureDoesNotExist, assertEditorPluginDoesNotExist, formatAddHelpText, readWorkspaceInventory, getWorkspaceBlockSelectOptions, appendWorkspaceInventoryEntries };
|
|
171658
171845
|
|
|
171659
|
-
//# debugId=
|
|
171846
|
+
//# debugId=42AF31D5CC3A7C2364756E2164756E21
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
// package.json
|
|
10
10
|
var package_default = {
|
|
11
11
|
name: "wp-typia",
|
|
12
|
-
version: "0.20.
|
|
12
|
+
version: "0.20.4",
|
|
13
13
|
description: "Canonical CLI package for wp-typia scaffolding and project workflows",
|
|
14
14
|
packageManager: "bun@1.3.11",
|
|
15
15
|
type: "module",
|
|
@@ -77,7 +77,7 @@ var package_default = {
|
|
|
77
77
|
"@bunli/tui": "0.6.0",
|
|
78
78
|
"@bunli/utils": "0.6.0",
|
|
79
79
|
"@wp-typia/api-client": "^0.4.5",
|
|
80
|
-
"@wp-typia/project-tools": "0.
|
|
80
|
+
"@wp-typia/project-tools": "0.20.1",
|
|
81
81
|
"better-result": "^2.7.0",
|
|
82
82
|
react: "^19.2.5",
|
|
83
83
|
"react-dom": "^19.2.5",
|
|
@@ -226,7 +226,7 @@ var ADD_OPTION_METADATA = {
|
|
|
226
226
|
type: "string"
|
|
227
227
|
},
|
|
228
228
|
namespace: {
|
|
229
|
-
description: "REST namespace for rest-resource workflows.",
|
|
229
|
+
description: "REST namespace for rest-resource and ai-feature workflows.",
|
|
230
230
|
type: "string"
|
|
231
231
|
},
|
|
232
232
|
"persistence-policy": {
|
|
@@ -532,4 +532,4 @@ function createPlugin(input) {
|
|
|
532
532
|
}
|
|
533
533
|
export { createPlugin, package_default, CREATE_OPTION_METADATA, ADD_OPTION_METADATA, MIGRATE_OPTION_METADATA, SYNC_OPTION_METADATA, TEMPLATES_OPTION_METADATA, GLOBAL_OPTION_METADATA, buildCommandOptions, collectOptionNamesByType, buildCommandOptionParser, resolveCommandOptionValues, prefersStructuredCliOutput, emitCliDiagnosticFailure, writeStructuredCliDiagnosticError, WP_TYPIA_CONFIG_SOURCES, mergeWpTypiaUserConfig, loadWpTypiaUserConfigFromSource, loadWpTypiaUserConfig, getCreateDefaults, getAddBlockDefaults, getMcpSchemaSources };
|
|
534
534
|
|
|
535
|
-
//# debugId=
|
|
535
|
+
//# debugId=33737B5BBB1DCAAF64756E2164756E21
|