@aexol/opencode-wizard 0.4.4 → 0.4.6
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 +29 -4
- package/dist/pi.d.ts +1 -0
- package/dist/pi.js +2 -0
- package/dist/pi.js.map +1 -0
- package/dist/plugin-tools.d.ts +1 -1
- package/dist/plugin-tools.js.map +1 -1
- package/dist/published-skills-system-note.js +1 -1
- package/dist/published-skills-system-note.js.map +1 -1
- package/dist/server/constants.d.ts +1 -1
- package/dist/server/constants.js +1 -1
- package/dist/server/constants.js.map +1 -1
- package/dist/server/runtime.d.ts +3 -7
- package/dist/server/runtime.js +7 -13
- package/dist/server/runtime.js.map +1 -1
- package/dist/server-opencode.d.ts +7 -0
- package/dist/server-opencode.js +13 -0
- package/dist/server-opencode.js.map +1 -0
- package/dist/server-pi.d.ts +34 -0
- package/dist/server-pi.js +314 -0
- package/dist/server-pi.js.map +1 -0
- package/dist/server.d.ts +1 -5
- package/dist/server.js +1 -5
- package/dist/server.js.map +1 -1
- package/dist/smoke-published-skills.js +3 -2
- package/dist/smoke-published-skills.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["buildSystemNote","buildSkillMarkdown","parseRequestedSkillArgs","resolveConfig","selectPublishedSkills","toPublishedSkillCatalog","toPublishedSkillDetail","fs","os","path","DEPLOY_BACKEND_ORIGIN","LOCAL_OVERRIDE_BACKEND_ORIGIN","BACKEND_ENV_KEYS","assertEqual","label","actual","expected","Error","String","createSkillItem","index","assignmentSource","slugPrefix","assignmentType","scopePath","includeChildren","skill","id","slug","name","summary","whenToUse","status","installPolicy","tags","skillVersion","version","title","publishedArtifact","frontmatterName","frontmatterDescription","checksum","publishedAt","fileCount","createInstallableSkillItem","item","createEffectiveSkillsSmokePayload","workspace","repositoryUrl","defaultBranch","directoryPath","skills","Array","from","length","_","catalogSkills","userPreferences","scopeKey","userKey","ignoredSkills","assertEffectiveSkillGrouping","payload","catalog","globalSkills","filter","contextKind","projectSkills","userSkills","startsWith","userSkillsWithGlobalContextKind","installableSkillCount","publishedSkillCount","assignmentCounts","global","project","user","other","globalAssignmentCount","projectAssignmentCount","userAssignmentCount","installableNotInstalledCount","assertRequestedSkillArgParsing","expectedSkills","skillFieldSelection","skillsFieldSelection","mixedSelection","join","withBackendEnv","env","callback","previousValues","Map","key","set","process","value","Object","entries","undefined","assertBackendOriginResolution","isolatedWorktree","mkdtemp","tmpdir","defaultConfig","backendOrigin","portOnlyConfig","PORT","appUrlPlaceholderConfig","APP_URL","overrideConfig","OPENCODE_WIZARD_BACKEND_ORIGIN","defaultBackendOrigin","portOnlyBackendOrigin","appUrlPlaceholderBackendOrigin","explicitOverrideBackendOrigin","assertSystemNoteWizardFetchContract","config","detail","systemNote","workspaceResolution","requestedDirectory","repositoryRoot","fallbackWorkspaceSlug","cacheKey","fetchResult","ok","authMode","fetchedAt","source","requiredFragments","fragment","includes","includesMaterialMatchFetchRule","includesAuthoritativeFetchedSkillBodyRule","includesCatalogDiscoveryOnlyRule","includesDegradedFallbackRule","includesWizardFetchToolRoute","run","detailSkillItem","detailItem","markdownBody","renderedContent","files","relativePath","contentType","content","size","sortOrder","cwd","backendOriginSmoke","requestedSkillArgParsingSmoke","effectiveSkillGroupingSmoke","selection","selectedItems","systemNoteWizardFetchContractSmoke","preview","split","slice","console","log","JSON","stringify","runtimeMode","graphqlUrl","availableTools","facets","selectedSkillCount","missingSkills","missingIdentifiers","selectedSkillSlug","skillSlug","selectedSkillTags","markdownDocumentIncludesFrontmatter","markdownDocument","resourceFileCount","resources","supportingFileCount","supportingFiles","count","supportingFilePaths","paths","map","file","markdownBodyIncludesContent"],"sources":["../src/smoke-published-skills.ts"],"sourcesContent":["import {\n buildSystemNote,\n buildSkillMarkdown,\n parseRequestedSkillArgs,\n resolveConfig,\n selectPublishedSkills,\n toPublishedSkillCatalog,\n toPublishedSkillDetail,\n type PublishedSkillCatalogPayload,\n type PublishedSkillCatalogItem,\n type PublishedSkillDetailItem,\n type PublishedSkillInstallableCatalogItem,\n} from './server.js';\nimport fs from 'node:fs/promises';\nimport os from 'node:os';\nimport path from 'node:path';\n\nconst DEPLOY_BACKEND_ORIGIN = 'https://opencode-wizard.aexol.work';\nconst LOCAL_OVERRIDE_BACKEND_ORIGIN = 'http://localhost:19876';\n\ntype BackendEnvKey = 'OPENCODE_WIZARD_BACKEND_ORIGIN' | 'APP_URL' | 'PORT';\n\nconst BACKEND_ENV_KEYS: BackendEnvKey[] = ['OPENCODE_WIZARD_BACKEND_ORIGIN', 'APP_URL', 'PORT'];\n\nconst assertEqual = <TValue>(label: string, actual: TValue, expected: TValue): void => {\n if (actual === expected) return;\n\n throw new Error(`${label} mismatch: expected ${String(expected)}, received ${String(actual)}`);\n};\n\nconst createSkillItem = (index: number, assignmentSource: string, slugPrefix: string): PublishedSkillCatalogItem => ({\n assignmentSource,\n assignmentType: 'PATH',\n scopePath: '.',\n includeChildren: true,\n skill: {\n id: `skill-${slugPrefix}-${index}`,\n slug: `${slugPrefix}-${index}`,\n name: `${slugPrefix}-${index}`,\n summary: `${slugPrefix} skill ${index}`,\n whenToUse: `Use for ${slugPrefix} smoke coverage ${index}.`,\n status: 'ACTIVE',\n installPolicy: assignmentSource === 'GLOBAL' ? 'GLOBAL_CONTEXT' : 'PROJECT_INSTALLABLE',\n tags: [],\n },\n skillVersion: {\n id: `version-${slugPrefix}-${index}`,\n version: '1.0.0',\n title: 'Initial',\n summary: 'Initial publish',\n status: 'PUBLISHED',\n },\n publishedArtifact: {\n id: `artifact-${slugPrefix}-${index}`,\n frontmatterName: `${slugPrefix}-${index}`,\n frontmatterDescription: `${slugPrefix} smoke skill`,\n checksum: `checksum-${slugPrefix}-${index}`,\n publishedAt: '2026-04-22T00:00:00.000Z',\n fileCount: 1,\n },\n});\n\nconst createInstallableSkillItem = (index: number): PublishedSkillInstallableCatalogItem => {\n const item = createSkillItem(index, 'CATALOG', 'installable-skill');\n\n return {\n skill: item.skill,\n skillVersion: item.skillVersion,\n publishedArtifact: item.publishedArtifact,\n };\n};\n\nconst createEffectiveSkillsSmokePayload = (): PublishedSkillCatalogPayload => ({\n workspace: {\n id: 'workspace-effective-counts',\n slug: 'opencode-wizard',\n name: 'opencode-wizard',\n repositoryUrl: 'https://example.com/opencode-wizard.git',\n defaultBranch: 'main',\n status: 'ACTIVE',\n },\n directoryPath: '.',\n skills: [\n ...Array.from({ length: 19 }, (_, index) => createSkillItem(index + 1, 'GLOBAL', 'global-skill')),\n createSkillItem(1, 'WORKSPACE', 'workspace-skill'),\n createSkillItem(1, 'USER', 'user-skill'),\n createSkillItem(2, 'USER_GLOBAL', 'user-skill'),\n createSkillItem(3, 'USER_WORKSPACE', 'user-skill'),\n createSkillItem(4, 'USER_GLOBAL', 'user-skill'),\n ],\n catalogSkills: Array.from({ length: 11 }, (_, index) => createInstallableSkillItem(index + 1)),\n userPreferences: {\n scopeKey: 'workspace:workspace-effective-counts',\n userKey: 'user-1',\n ignoredSkills: [],\n },\n});\n\nconst assertEffectiveSkillGrouping = (payload: PublishedSkillCatalogPayload) => {\n const catalog = toPublishedSkillCatalog(payload);\n const globalSkills = catalog.skills.filter(\n (skill) => skill.contextKind === 'global' && skill.assignmentSource === 'GLOBAL',\n );\n const projectSkills = catalog.skills.filter(\n (skill) => skill.contextKind === 'project' && skill.assignmentSource === 'WORKSPACE',\n );\n const userSkills = catalog.skills.filter((skill) => skill.assignmentSource.startsWith('USER'));\n const userSkillsWithGlobalContextKind = userSkills.filter((skill) => skill.contextKind === 'global');\n const installableSkillCount = payload.catalogSkills.length;\n\n assertEqual('published skill count', catalog.publishedSkillCount, 24);\n assertEqual('global assignment count', catalog.assignmentCounts.global, 19);\n assertEqual('project assignment count', catalog.assignmentCounts.project, 1);\n assertEqual('user assignment count', catalog.assignmentCounts.user, 4);\n assertEqual('other assignment count', catalog.assignmentCounts.other, 0);\n assertEqual('global grouped skill count', globalSkills.length, 19);\n assertEqual('project grouped skill count', projectSkills.length, 1);\n assertEqual('user grouped skill count', userSkills.length, 4);\n assertEqual('user grouped global context kind count', userSkillsWithGlobalContextKind.length, 0);\n assertEqual('installable/not installed catalog count', installableSkillCount, 11);\n\n return {\n globalAssignmentCount: catalog.assignmentCounts.global,\n projectAssignmentCount: catalog.assignmentCounts.project,\n userAssignmentCount: catalog.assignmentCounts.user,\n installableNotInstalledCount: installableSkillCount,\n };\n};\n\nconst assertRequestedSkillArgParsing = () => {\n const expectedSkills = ['frontend-components', 'frontend-styles', 'frontend-navigation'];\n const skillFieldSelection = parseRequestedSkillArgs({\n skill: 'frontend-components,frontend-styles\\nfrontend-navigation',\n });\n const skillsFieldSelection = parseRequestedSkillArgs({\n skills: 'frontend-components,frontend-styles\\nfrontend-navigation',\n });\n const mixedSelection = parseRequestedSkillArgs({\n skill: 'frontend-components, frontend-styles',\n skills: 'frontend-styles\\nfrontend-navigation',\n });\n\n assertEqual('skill field delimited selection', skillFieldSelection.join('|'), expectedSkills.join('|'));\n assertEqual('skills field delimited selection', skillsFieldSelection.join('|'), expectedSkills.join('|'));\n assertEqual('mixed field deduplicated selection', mixedSelection.join('|'), expectedSkills.join('|'));\n\n return {\n skillFieldSelection,\n skillsFieldSelection,\n mixedSelection,\n };\n};\n\nconst withBackendEnv = async <TResult>(\n env: Partial<Record<BackendEnvKey, string>>,\n callback: () => Promise<TResult>,\n): Promise<TResult> => {\n const previousValues = new Map<BackendEnvKey, string | undefined>();\n\n for (const key of BACKEND_ENV_KEYS) {\n previousValues.set(key, process.env[key]);\n delete process.env[key];\n }\n\n for (const [key, value] of Object.entries(env)) {\n process.env[key as BackendEnvKey] = value;\n }\n\n try {\n return await callback();\n } finally {\n for (const [key, value] of previousValues) {\n if (value === undefined) {\n delete process.env[key];\n continue;\n }\n\n process.env[key] = value;\n }\n }\n};\n\nconst assertBackendOriginResolution = async () => {\n const isolatedWorktree = await fs.mkdtemp(path.join(os.tmpdir(), 'opencode-wizard-plugin-smoke-'));\n\n const defaultConfig = await withBackendEnv({}, () => resolveConfig(isolatedWorktree));\n if (defaultConfig.backendOrigin !== DEPLOY_BACKEND_ORIGIN) {\n throw new Error(\n `Expected default backend origin ${DEPLOY_BACKEND_ORIGIN}, received ${defaultConfig.backendOrigin}`,\n );\n }\n\n const portOnlyConfig = await withBackendEnv({ PORT: '19876' }, () => resolveConfig(isolatedWorktree));\n if (portOnlyConfig.backendOrigin !== DEPLOY_BACKEND_ORIGIN) {\n throw new Error(\n `Expected PORT-only backend origin to stay ${DEPLOY_BACKEND_ORIGIN}, received ${portOnlyConfig.backendOrigin}`,\n );\n }\n\n const appUrlPlaceholderConfig = await withBackendEnv({ APP_URL: 'https://yourdomain.com' }, () =>\n resolveConfig(isolatedWorktree),\n );\n if (appUrlPlaceholderConfig.backendOrigin !== DEPLOY_BACKEND_ORIGIN) {\n throw new Error(\n `Expected APP_URL placeholder backend origin to stay ${DEPLOY_BACKEND_ORIGIN}, received ${appUrlPlaceholderConfig.backendOrigin}`,\n );\n }\n\n const overrideConfig = await withBackendEnv({ OPENCODE_WIZARD_BACKEND_ORIGIN: LOCAL_OVERRIDE_BACKEND_ORIGIN }, () =>\n resolveConfig(isolatedWorktree),\n );\n if (overrideConfig.backendOrigin !== LOCAL_OVERRIDE_BACKEND_ORIGIN) {\n throw new Error(\n `Expected explicit backend override ${LOCAL_OVERRIDE_BACKEND_ORIGIN}, received ${overrideConfig.backendOrigin}`,\n );\n }\n\n return {\n defaultBackendOrigin: defaultConfig.backendOrigin,\n portOnlyBackendOrigin: portOnlyConfig.backendOrigin,\n appUrlPlaceholderBackendOrigin: appUrlPlaceholderConfig.backendOrigin,\n explicitOverrideBackendOrigin: overrideConfig.backendOrigin,\n };\n};\n\nconst assertSystemNoteWizardFetchContract = (\n payload: PublishedSkillCatalogPayload,\n config: Awaited<ReturnType<typeof resolveConfig>>,\n detail: NonNullable<ReturnType<typeof toPublishedSkillDetail>>,\n) => {\n const systemNote = buildSystemNote(\n {\n directoryPath: '.',\n workspaceResolution: {\n requestedDirectory: '.',\n repositoryRoot: '.',\n repositoryUrl: 'https://example.com/opencode-wizard.git',\n fallbackWorkspaceSlug: null,\n directoryPath: '.',\n cacheKey: 'smoke-cache-key',\n },\n fetchResult: {\n ok: true,\n status: 'ready',\n authMode: 'session',\n payload,\n fetchedAt: '2026-04-22T00:00:00.000Z',\n source: 'cache',\n },\n },\n config,\n [detail],\n );\n\n if (!systemNote) {\n throw new Error('Expected system note to be generated for published skills payload');\n }\n\n const requiredFragments = [\n 'Workspace: opencode-wizard.',\n 'Directory: .',\n 'Wizard-listed skills (',\n 'Fetch rule: only when the user task materially matches a wizard-listed skill workflow, fetch it with `opencode_wizard_published_skills_fetch`; the fetched `SKILL.md` is authoritative.',\n 'Catalog/status metadata is discovery-only, not executable skill instructions.',\n 'If fetch/auth/catalog fails, report degraded wizard-skill context and continue with normal repo evidence when safe.',\n 'Use `refresh: true` before cache deletion;',\n 'use `opencode_wizard_artifact_fetch` for non-skill wizard artifacts.',\n 'opencode_wizard_published_skills_fetch',\n ];\n\n for (const fragment of requiredFragments) {\n if (systemNote.includes(fragment)) continue;\n\n throw new Error(`Expected system note to include prompt contract fragment: ${fragment}`);\n }\n\n return {\n includesMaterialMatchFetchRule: systemNote.includes('only when the user task materially matches'),\n includesAuthoritativeFetchedSkillBodyRule: systemNote.includes('fetched `SKILL.md` is authoritative'),\n includesCatalogDiscoveryOnlyRule: systemNote.includes('discovery-only'),\n includesDegradedFallbackRule: systemNote.includes('degraded wizard-skill context'),\n includesWizardFetchToolRoute: systemNote.includes('opencode_wizard_published_skills_fetch'),\n };\n};\n\nconst run = async () => {\n const payload: PublishedSkillCatalogPayload = createEffectiveSkillsSmokePayload();\n const detailSkillItem = payload.skills[0];\n detailSkillItem.skill.slug = 'backend-auth';\n detailSkillItem.skill.name = 'backend-auth';\n detailSkillItem.skill.summary = 'Backend auth skill';\n detailSkillItem.skill.whenToUse = 'Use for JWT cookie sessions and protected backend resolver work.';\n detailSkillItem.publishedArtifact.frontmatterName = 'backend-auth';\n detailSkillItem.publishedArtifact.frontmatterDescription = 'JWT auth skill';\n detailSkillItem.publishedArtifact.fileCount = 2;\n const detailItem: PublishedSkillDetailItem = {\n ...detailSkillItem,\n publishedArtifact: {\n ...detailSkillItem.publishedArtifact,\n markdownBody: '## Mock skill\\n\\nThis is a mock published skill.',\n renderedContent: '<h2>Mock skill</h2>',\n files: [\n {\n id: 'artifact-file-1',\n relativePath: 'SKILL.md',\n contentType: 'text/markdown; charset=utf-8',\n content: '---\\nname: \"backend-auth\"\\ndescription: \"JWT auth skill\"\\n---\\n\\n## Mock skill\\n',\n checksum: 'file-checksum-1',\n size: 74,\n sortOrder: 0,\n },\n {\n id: 'artifact-file-2',\n relativePath: 'resource.md',\n contentType: 'text/markdown; charset=utf-8',\n content: '# Resource\\n',\n checksum: 'file-checksum-2',\n size: 11,\n sortOrder: 1,\n },\n ],\n },\n };\n\n const config = await resolveConfig(process.cwd());\n const backendOriginSmoke = await assertBackendOriginResolution();\n const requestedSkillArgParsingSmoke = assertRequestedSkillArgParsing();\n\n const catalog = toPublishedSkillCatalog(payload);\n const effectiveSkillGroupingSmoke = assertEffectiveSkillGrouping(createEffectiveSkillsSmokePayload());\n const selection = selectPublishedSkills(payload, ['backend-auth', 'missing-skill']);\n const detail = selection.selectedItems[0] ? toPublishedSkillDetail(detailItem) : null;\n if (!detail) {\n throw new Error('Expected backend-auth detail to be selected for smoke test');\n }\n\n const systemNoteWizardFetchContractSmoke = assertSystemNoteWizardFetchContract(payload, config, detail);\n const preview = buildSkillMarkdown(detailItem).split('\\n').slice(0, 6);\n\n console.log(\n JSON.stringify(\n {\n runtimeMode: catalog.runtimeMode,\n graphqlUrl: config.graphqlUrl,\n backendOriginSmoke,\n requestedSkillArgParsingSmoke,\n systemNoteWizardFetchContractSmoke,\n effectiveSkillGroupingSmoke,\n publishedSkillCount: catalog.publishedSkillCount,\n availableTools: catalog.availableTools,\n facets: catalog.facets,\n selectedSkillCount: selection.selectedItems.length,\n missingSkills: selection.missingIdentifiers,\n selectedSkillSlug: detail.skillSlug,\n selectedSkillTags: detail.tags,\n markdownDocumentIncludesFrontmatter: detail.markdownDocument.startsWith('---'),\n resourceFileCount: detail.resources.length,\n supportingFileCount: detail.supportingFiles.count,\n supportingFilePaths: detail.supportingFiles.paths.map((file) => file.relativePath),\n preview,\n markdownBodyIncludesContent: detail.markdownBody.includes('This is a mock published skill.'),\n },\n null,\n 2,\n ),\n );\n};\n\nvoid run();\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["buildSystemNote","buildSkillMarkdown","parseRequestedSkillArgs","resolveConfig","selectPublishedSkills","toPublishedSkillCatalog","toPublishedSkillDetail","fs","os","path","DEPLOY_BACKEND_ORIGIN","LOCAL_OVERRIDE_BACKEND_ORIGIN","BACKEND_ENV_KEYS","assertEqual","label","actual","expected","Error","String","createSkillItem","index","assignmentSource","slugPrefix","assignmentType","scopePath","includeChildren","skill","id","slug","name","summary","whenToUse","status","installPolicy","tags","skillVersion","version","title","publishedArtifact","frontmatterName","frontmatterDescription","checksum","publishedAt","fileCount","createInstallableSkillItem","item","createEffectiveSkillsSmokePayload","workspace","repositoryUrl","defaultBranch","directoryPath","skills","Array","from","length","_","catalogSkills","userPreferences","scopeKey","userKey","ignoredSkills","assertEffectiveSkillGrouping","payload","catalog","globalSkills","filter","contextKind","projectSkills","userSkills","startsWith","userSkillsWithGlobalContextKind","installableSkillCount","publishedSkillCount","assignmentCounts","global","project","user","other","globalAssignmentCount","projectAssignmentCount","userAssignmentCount","installableNotInstalledCount","assertRequestedSkillArgParsing","expectedSkills","skillFieldSelection","skillsFieldSelection","mixedSelection","join","withBackendEnv","env","callback","previousValues","Map","key","set","process","value","Object","entries","undefined","assertBackendOriginResolution","isolatedWorktree","mkdtemp","tmpdir","defaultConfig","backendOrigin","portOnlyConfig","PORT","appUrlPlaceholderConfig","APP_URL","overrideConfig","OPENCODE_WIZARD_BACKEND_ORIGIN","defaultBackendOrigin","portOnlyBackendOrigin","appUrlPlaceholderBackendOrigin","explicitOverrideBackendOrigin","assertSystemNoteWizardFetchContract","config","detail","systemNote","workspaceResolution","requestedDirectory","repositoryRoot","fallbackWorkspaceSlug","cacheKey","fetchResult","ok","authMode","fetchedAt","source","requiredFragments","fragment","includes","includesMaterialChangeFetchRule","includesAuthoritativeFetchedSkillBodyRule","includesCatalogDiscoveryOnlyRule","includesNativeLocalFallbackRule","includesDegradedFallbackRule","includesWizardFetchToolRoute","run","detailSkillItem","detailItem","markdownBody","renderedContent","files","relativePath","contentType","content","size","sortOrder","cwd","backendOriginSmoke","requestedSkillArgParsingSmoke","effectiveSkillGroupingSmoke","selection","selectedItems","systemNoteWizardFetchContractSmoke","preview","split","slice","console","log","JSON","stringify","runtimeMode","graphqlUrl","availableTools","facets","selectedSkillCount","missingSkills","missingIdentifiers","selectedSkillSlug","skillSlug","selectedSkillTags","markdownDocumentIncludesFrontmatter","markdownDocument","resourceFileCount","resources","supportingFileCount","supportingFiles","count","supportingFilePaths","paths","map","file","markdownBodyIncludesContent"],"sources":["../src/smoke-published-skills.ts"],"sourcesContent":["import {\n buildSystemNote,\n buildSkillMarkdown,\n parseRequestedSkillArgs,\n resolveConfig,\n selectPublishedSkills,\n toPublishedSkillCatalog,\n toPublishedSkillDetail,\n type PublishedSkillCatalogPayload,\n type PublishedSkillCatalogItem,\n type PublishedSkillDetailItem,\n type PublishedSkillInstallableCatalogItem,\n} from './server.js';\nimport fs from 'node:fs/promises';\nimport os from 'node:os';\nimport path from 'node:path';\n\nconst DEPLOY_BACKEND_ORIGIN = 'https://opencode-wizard.aexol.work';\nconst LOCAL_OVERRIDE_BACKEND_ORIGIN = 'http://localhost:19876';\n\ntype BackendEnvKey = 'OPENCODE_WIZARD_BACKEND_ORIGIN' | 'APP_URL' | 'PORT';\n\nconst BACKEND_ENV_KEYS: BackendEnvKey[] = ['OPENCODE_WIZARD_BACKEND_ORIGIN', 'APP_URL', 'PORT'];\n\nconst assertEqual = <TValue>(label: string, actual: TValue, expected: TValue): void => {\n if (actual === expected) return;\n\n throw new Error(`${label} mismatch: expected ${String(expected)}, received ${String(actual)}`);\n};\n\nconst createSkillItem = (index: number, assignmentSource: string, slugPrefix: string): PublishedSkillCatalogItem => ({\n assignmentSource,\n assignmentType: 'PATH',\n scopePath: '.',\n includeChildren: true,\n skill: {\n id: `skill-${slugPrefix}-${index}`,\n slug: `${slugPrefix}-${index}`,\n name: `${slugPrefix}-${index}`,\n summary: `${slugPrefix} skill ${index}`,\n whenToUse: `Use for ${slugPrefix} smoke coverage ${index}.`,\n status: 'ACTIVE',\n installPolicy: assignmentSource === 'GLOBAL' ? 'GLOBAL_CONTEXT' : 'PROJECT_INSTALLABLE',\n tags: [],\n },\n skillVersion: {\n id: `version-${slugPrefix}-${index}`,\n version: '1.0.0',\n title: 'Initial',\n summary: 'Initial publish',\n status: 'PUBLISHED',\n },\n publishedArtifact: {\n id: `artifact-${slugPrefix}-${index}`,\n frontmatterName: `${slugPrefix}-${index}`,\n frontmatterDescription: `${slugPrefix} smoke skill`,\n checksum: `checksum-${slugPrefix}-${index}`,\n publishedAt: '2026-04-22T00:00:00.000Z',\n fileCount: 1,\n },\n});\n\nconst createInstallableSkillItem = (index: number): PublishedSkillInstallableCatalogItem => {\n const item = createSkillItem(index, 'CATALOG', 'installable-skill');\n\n return {\n skill: item.skill,\n skillVersion: item.skillVersion,\n publishedArtifact: item.publishedArtifact,\n };\n};\n\nconst createEffectiveSkillsSmokePayload = (): PublishedSkillCatalogPayload => ({\n workspace: {\n id: 'workspace-effective-counts',\n slug: 'opencode-wizard',\n name: 'opencode-wizard',\n repositoryUrl: 'https://example.com/opencode-wizard.git',\n defaultBranch: 'main',\n status: 'ACTIVE',\n },\n directoryPath: '.',\n skills: [\n ...Array.from({ length: 19 }, (_, index) => createSkillItem(index + 1, 'GLOBAL', 'global-skill')),\n createSkillItem(1, 'WORKSPACE', 'workspace-skill'),\n createSkillItem(1, 'USER', 'user-skill'),\n createSkillItem(2, 'USER_GLOBAL', 'user-skill'),\n createSkillItem(3, 'USER_WORKSPACE', 'user-skill'),\n createSkillItem(4, 'USER_GLOBAL', 'user-skill'),\n ],\n catalogSkills: Array.from({ length: 11 }, (_, index) => createInstallableSkillItem(index + 1)),\n userPreferences: {\n scopeKey: 'workspace:workspace-effective-counts',\n userKey: 'user-1',\n ignoredSkills: [],\n },\n});\n\nconst assertEffectiveSkillGrouping = (payload: PublishedSkillCatalogPayload) => {\n const catalog = toPublishedSkillCatalog(payload);\n const globalSkills = catalog.skills.filter(\n (skill) => skill.contextKind === 'global' && skill.assignmentSource === 'GLOBAL',\n );\n const projectSkills = catalog.skills.filter(\n (skill) => skill.contextKind === 'project' && skill.assignmentSource === 'WORKSPACE',\n );\n const userSkills = catalog.skills.filter((skill) => skill.assignmentSource.startsWith('USER'));\n const userSkillsWithGlobalContextKind = userSkills.filter((skill) => skill.contextKind === 'global');\n const installableSkillCount = payload.catalogSkills.length;\n\n assertEqual('published skill count', catalog.publishedSkillCount, 24);\n assertEqual('global assignment count', catalog.assignmentCounts.global, 19);\n assertEqual('project assignment count', catalog.assignmentCounts.project, 1);\n assertEqual('user assignment count', catalog.assignmentCounts.user, 4);\n assertEqual('other assignment count', catalog.assignmentCounts.other, 0);\n assertEqual('global grouped skill count', globalSkills.length, 19);\n assertEqual('project grouped skill count', projectSkills.length, 1);\n assertEqual('user grouped skill count', userSkills.length, 4);\n assertEqual('user grouped global context kind count', userSkillsWithGlobalContextKind.length, 0);\n assertEqual('installable/not installed catalog count', installableSkillCount, 11);\n\n return {\n globalAssignmentCount: catalog.assignmentCounts.global,\n projectAssignmentCount: catalog.assignmentCounts.project,\n userAssignmentCount: catalog.assignmentCounts.user,\n installableNotInstalledCount: installableSkillCount,\n };\n};\n\nconst assertRequestedSkillArgParsing = () => {\n const expectedSkills = ['frontend-components', 'frontend-styles', 'frontend-navigation'];\n const skillFieldSelection = parseRequestedSkillArgs({\n skill: 'frontend-components,frontend-styles\\nfrontend-navigation',\n });\n const skillsFieldSelection = parseRequestedSkillArgs({\n skills: 'frontend-components,frontend-styles\\nfrontend-navigation',\n });\n const mixedSelection = parseRequestedSkillArgs({\n skill: 'frontend-components, frontend-styles',\n skills: 'frontend-styles\\nfrontend-navigation',\n });\n\n assertEqual('skill field delimited selection', skillFieldSelection.join('|'), expectedSkills.join('|'));\n assertEqual('skills field delimited selection', skillsFieldSelection.join('|'), expectedSkills.join('|'));\n assertEqual('mixed field deduplicated selection', mixedSelection.join('|'), expectedSkills.join('|'));\n\n return {\n skillFieldSelection,\n skillsFieldSelection,\n mixedSelection,\n };\n};\n\nconst withBackendEnv = async <TResult>(\n env: Partial<Record<BackendEnvKey, string>>,\n callback: () => Promise<TResult>,\n): Promise<TResult> => {\n const previousValues = new Map<BackendEnvKey, string | undefined>();\n\n for (const key of BACKEND_ENV_KEYS) {\n previousValues.set(key, process.env[key]);\n delete process.env[key];\n }\n\n for (const [key, value] of Object.entries(env)) {\n process.env[key as BackendEnvKey] = value;\n }\n\n try {\n return await callback();\n } finally {\n for (const [key, value] of previousValues) {\n if (value === undefined) {\n delete process.env[key];\n continue;\n }\n\n process.env[key] = value;\n }\n }\n};\n\nconst assertBackendOriginResolution = async () => {\n const isolatedWorktree = await fs.mkdtemp(path.join(os.tmpdir(), 'opencode-wizard-plugin-smoke-'));\n\n const defaultConfig = await withBackendEnv({}, () => resolveConfig(isolatedWorktree));\n if (defaultConfig.backendOrigin !== DEPLOY_BACKEND_ORIGIN) {\n throw new Error(\n `Expected default backend origin ${DEPLOY_BACKEND_ORIGIN}, received ${defaultConfig.backendOrigin}`,\n );\n }\n\n const portOnlyConfig = await withBackendEnv({ PORT: '19876' }, () => resolveConfig(isolatedWorktree));\n if (portOnlyConfig.backendOrigin !== DEPLOY_BACKEND_ORIGIN) {\n throw new Error(\n `Expected PORT-only backend origin to stay ${DEPLOY_BACKEND_ORIGIN}, received ${portOnlyConfig.backendOrigin}`,\n );\n }\n\n const appUrlPlaceholderConfig = await withBackendEnv({ APP_URL: 'https://yourdomain.com' }, () =>\n resolveConfig(isolatedWorktree),\n );\n if (appUrlPlaceholderConfig.backendOrigin !== DEPLOY_BACKEND_ORIGIN) {\n throw new Error(\n `Expected APP_URL placeholder backend origin to stay ${DEPLOY_BACKEND_ORIGIN}, received ${appUrlPlaceholderConfig.backendOrigin}`,\n );\n }\n\n const overrideConfig = await withBackendEnv({ OPENCODE_WIZARD_BACKEND_ORIGIN: LOCAL_OVERRIDE_BACKEND_ORIGIN }, () =>\n resolveConfig(isolatedWorktree),\n );\n if (overrideConfig.backendOrigin !== LOCAL_OVERRIDE_BACKEND_ORIGIN) {\n throw new Error(\n `Expected explicit backend override ${LOCAL_OVERRIDE_BACKEND_ORIGIN}, received ${overrideConfig.backendOrigin}`,\n );\n }\n\n return {\n defaultBackendOrigin: defaultConfig.backendOrigin,\n portOnlyBackendOrigin: portOnlyConfig.backendOrigin,\n appUrlPlaceholderBackendOrigin: appUrlPlaceholderConfig.backendOrigin,\n explicitOverrideBackendOrigin: overrideConfig.backendOrigin,\n };\n};\n\nconst assertSystemNoteWizardFetchContract = (\n payload: PublishedSkillCatalogPayload,\n config: Awaited<ReturnType<typeof resolveConfig>>,\n detail: NonNullable<ReturnType<typeof toPublishedSkillDetail>>,\n) => {\n const systemNote = buildSystemNote(\n {\n directoryPath: '.',\n workspaceResolution: {\n requestedDirectory: '.',\n repositoryRoot: '.',\n repositoryUrl: 'https://example.com/opencode-wizard.git',\n fallbackWorkspaceSlug: null,\n directoryPath: '.',\n cacheKey: 'smoke-cache-key',\n },\n fetchResult: {\n ok: true,\n status: 'ready',\n authMode: 'session',\n payload,\n fetchedAt: '2026-04-22T00:00:00.000Z',\n source: 'cache',\n },\n },\n config,\n [detail],\n );\n\n if (!systemNote) {\n throw new Error('Expected system note to be generated for published skills payload');\n }\n\n const requiredFragments = [\n 'Workspace: opencode-wizard.',\n 'Directory: .',\n 'Wizard-listed skills (',\n 'Fetch rule: only when skill instructions could materially change routing, implementation, validation, or artifact structure, fetch a matching wizard-listed skill with `opencode_wizard_published_skills_fetch`; the fetched `SKILL.md` is authoritative.',\n 'Catalog/status metadata is discovery-only, not executable skill instructions;',\n 'native/local `.opencode/skills` or OpenCode skill bodies are fallback/source material only when no same-named wizard body can be fetched.',\n 'If fetch/auth/catalog fails, report degraded wizard-skill context and continue with normal repo evidence when safe.',\n 'Use `refresh: true` before cache deletion;',\n 'use `opencode_wizard_artifact_fetch` for non-skill wizard artifacts.',\n 'opencode_wizard_published_skills_fetch',\n ];\n\n for (const fragment of requiredFragments) {\n if (systemNote.includes(fragment)) continue;\n\n throw new Error(`Expected system note to include prompt contract fragment: ${fragment}`);\n }\n\n return {\n includesMaterialChangeFetchRule: systemNote.includes('materially change routing, implementation, validation'),\n includesAuthoritativeFetchedSkillBodyRule: systemNote.includes('fetched `SKILL.md` is authoritative'),\n includesCatalogDiscoveryOnlyRule: systemNote.includes('discovery-only'),\n includesNativeLocalFallbackRule: systemNote.includes('fallback/source material only'),\n includesDegradedFallbackRule: systemNote.includes('degraded wizard-skill context'),\n includesWizardFetchToolRoute: systemNote.includes('opencode_wizard_published_skills_fetch'),\n };\n};\n\nconst run = async () => {\n const payload: PublishedSkillCatalogPayload = createEffectiveSkillsSmokePayload();\n const detailSkillItem = payload.skills[0];\n detailSkillItem.skill.slug = 'backend-auth';\n detailSkillItem.skill.name = 'backend-auth';\n detailSkillItem.skill.summary = 'Backend auth skill';\n detailSkillItem.skill.whenToUse = 'Use for JWT cookie sessions and protected backend resolver work.';\n detailSkillItem.publishedArtifact.frontmatterName = 'backend-auth';\n detailSkillItem.publishedArtifact.frontmatterDescription = 'JWT auth skill';\n detailSkillItem.publishedArtifact.fileCount = 2;\n const detailItem: PublishedSkillDetailItem = {\n ...detailSkillItem,\n publishedArtifact: {\n ...detailSkillItem.publishedArtifact,\n markdownBody: '## Mock skill\\n\\nThis is a mock published skill.',\n renderedContent: '<h2>Mock skill</h2>',\n files: [\n {\n id: 'artifact-file-1',\n relativePath: 'SKILL.md',\n contentType: 'text/markdown; charset=utf-8',\n content: '---\\nname: \"backend-auth\"\\ndescription: \"JWT auth skill\"\\n---\\n\\n## Mock skill\\n',\n checksum: 'file-checksum-1',\n size: 74,\n sortOrder: 0,\n },\n {\n id: 'artifact-file-2',\n relativePath: 'resource.md',\n contentType: 'text/markdown; charset=utf-8',\n content: '# Resource\\n',\n checksum: 'file-checksum-2',\n size: 11,\n sortOrder: 1,\n },\n ],\n },\n };\n\n const config = await resolveConfig(process.cwd());\n const backendOriginSmoke = await assertBackendOriginResolution();\n const requestedSkillArgParsingSmoke = assertRequestedSkillArgParsing();\n\n const catalog = toPublishedSkillCatalog(payload);\n const effectiveSkillGroupingSmoke = assertEffectiveSkillGrouping(createEffectiveSkillsSmokePayload());\n const selection = selectPublishedSkills(payload, ['backend-auth', 'missing-skill']);\n const detail = selection.selectedItems[0] ? toPublishedSkillDetail(detailItem) : null;\n if (!detail) {\n throw new Error('Expected backend-auth detail to be selected for smoke test');\n }\n\n const systemNoteWizardFetchContractSmoke = assertSystemNoteWizardFetchContract(payload, config, detail);\n const preview = buildSkillMarkdown(detailItem).split('\\n').slice(0, 6);\n\n console.log(\n JSON.stringify(\n {\n runtimeMode: catalog.runtimeMode,\n graphqlUrl: config.graphqlUrl,\n backendOriginSmoke,\n requestedSkillArgParsingSmoke,\n systemNoteWizardFetchContractSmoke,\n effectiveSkillGroupingSmoke,\n publishedSkillCount: catalog.publishedSkillCount,\n availableTools: catalog.availableTools,\n facets: catalog.facets,\n selectedSkillCount: selection.selectedItems.length,\n missingSkills: selection.missingIdentifiers,\n selectedSkillSlug: detail.skillSlug,\n selectedSkillTags: detail.tags,\n markdownDocumentIncludesFrontmatter: detail.markdownDocument.startsWith('---'),\n resourceFileCount: detail.resources.length,\n supportingFileCount: detail.supportingFiles.count,\n supportingFilePaths: detail.supportingFiles.paths.map((file) => file.relativePath),\n preview,\n markdownBodyIncludesContent: detail.markdownBody.includes('This is a mock published skill.'),\n },\n null,\n 2,\n ),\n );\n};\n\nvoid run();\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aexol/opencode-wizard",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "OpenCode plugin for opencode-wizard published skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"oc-plugin": [
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|
|
35
35
|
"url": "git+https://gitlab.com/aexol/open-source/opencode-wizard.git",
|
|
36
|
-
"directory": "
|
|
36
|
+
"directory": "plugins/opencode-wizard"
|
|
37
37
|
},
|
|
38
38
|
"keywords": [
|
|
39
39
|
"opencode",
|