asdf
Squash the current repository state back into one baseline commit while preserving the README reframing and repository contents. Constraint: User explicitly requested a single squashed commit with subject "asdf" Confidence: high Scope-risk: broad Reversibility: clean Directive: This commit intentionally rewrites published history; coordinate before future force-pushes Tested: git status clean; local history rewritten to one commit; force-pushed main to origin and instructkr Not-tested: Fresh clone verification after push
This commit is contained in:
commit
d2542c9a62
17
src/commands/thinkback-play/index.ts
Normal file
17
src/commands/thinkback-play/index.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import type { Command } from '../../commands.js'
|
||||
import { checkStatsigFeatureGate_CACHED_MAY_BE_STALE } from '../../services/analytics/growthbook.js'
|
||||
|
||||
// Hidden command that just plays the animation
|
||||
// Called by the thinkback skill after generation is complete
|
||||
const thinkbackPlay = {
|
||||
type: 'local',
|
||||
name: 'thinkback-play',
|
||||
description: 'Play the thinkback animation',
|
||||
isEnabled: () =>
|
||||
checkStatsigFeatureGate_CACHED_MAY_BE_STALE('tengu_thinkback'),
|
||||
isHidden: true,
|
||||
supportsNonInteractive: false,
|
||||
load: () => import('./thinkback-play.js'),
|
||||
} satisfies Command
|
||||
|
||||
export default thinkbackPlay
|
||||
43
src/commands/thinkback-play/thinkback-play.ts
Normal file
43
src/commands/thinkback-play/thinkback-play.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { join } from 'path'
|
||||
import type { LocalCommandResult } from '../../commands.js'
|
||||
import { loadInstalledPluginsV2 } from '../../utils/plugins/installedPluginsManager.js'
|
||||
import { OFFICIAL_MARKETPLACE_NAME } from '../../utils/plugins/officialMarketplace.js'
|
||||
import { playAnimation } from '../thinkback/thinkback.js'
|
||||
|
||||
const INTERNAL_MARKETPLACE_NAME = 'claude-code-marketplace'
|
||||
const SKILL_NAME = 'thinkback'
|
||||
|
||||
function getPluginId(): string {
|
||||
const marketplaceName =
|
||||
process.env.USER_TYPE === 'ant'
|
||||
? INTERNAL_MARKETPLACE_NAME
|
||||
: OFFICIAL_MARKETPLACE_NAME
|
||||
return `thinkback@${marketplaceName}`
|
||||
}
|
||||
|
||||
export async function call(): Promise<LocalCommandResult> {
|
||||
// Get skill directory from installed plugins config
|
||||
const v2Data = loadInstalledPluginsV2()
|
||||
const pluginId = getPluginId()
|
||||
const installations = v2Data.plugins[pluginId]
|
||||
|
||||
if (!installations || installations.length === 0) {
|
||||
return {
|
||||
type: 'text' as const,
|
||||
value:
|
||||
'Thinkback plugin not installed. Run /think-back first to install it.',
|
||||
}
|
||||
}
|
||||
|
||||
const firstInstall = installations[0]
|
||||
if (!firstInstall?.installPath) {
|
||||
return {
|
||||
type: 'text' as const,
|
||||
value: 'Thinkback plugin installation path not found.',
|
||||
}
|
||||
}
|
||||
|
||||
const skillDir = join(firstInstall.installPath, 'skills', SKILL_NAME)
|
||||
const result = await playAnimation(skillDir)
|
||||
return { type: 'text' as const, value: result.message }
|
||||
}
|
||||
Reference in New Issue
Block a user