fifony 0.1.21 → 0.1.22-next.ca3682c
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 +19 -7
- package/app/dist/assets/KeyboardShortcutsHelp-CqCRSinb.js +1 -0
- package/app/dist/assets/OnboardingWizard-sB4Jirx5.js +1 -0
- package/app/dist/assets/analytics.lazy-BPdQoH_Z.js +1 -0
- package/app/dist/assets/{createLucideIcon-DtZs0TX0.js → createLucideIcon-BWC-guQt.js} +1 -1
- package/app/dist/assets/index-BaDR-1h-.js +43 -0
- package/app/dist/assets/index-DjmUHXd1.css +1 -0
- package/app/dist/assets/vendor-BTlTWMUF.js +9 -0
- package/app/dist/dinofffaur.png +0 -0
- package/app/dist/index.html +4 -5
- package/app/dist/service-worker.js +1 -1
- package/app/public/dinofffaur.png +0 -0
- package/bin/fifony-wrap.js +53 -0
- package/dist/agent/cli-wrapper.js +78 -0
- package/dist/agent/cli-wrapper.js.map +1 -0
- package/dist/agent/run-local.js +217 -7893
- package/dist/agent/run-local.js.map +1 -1
- package/dist/chunk-CWC7H4H3.js +91 -0
- package/dist/chunk-CWC7H4H3.js.map +1 -0
- package/dist/{chunk-SMGXYOWU.js → chunk-DD5BE2W6.js} +430 -31
- package/dist/chunk-DD5BE2W6.js.map +1 -0
- package/dist/chunk-DVU3CXWA.js +75 -0
- package/dist/chunk-DVU3CXWA.js.map +1 -0
- package/dist/chunk-IXE2JEIU.js +7115 -0
- package/dist/chunk-IXE2JEIU.js.map +1 -0
- package/dist/chunk-NA6PJPZD.js +2110 -0
- package/dist/chunk-NA6PJPZD.js.map +1 -0
- package/dist/cli.js +187 -1
- package/dist/cli.js.map +1 -1
- package/dist/issue-runner-OEUARE4A.js +13 -0
- package/dist/issue-runner-OEUARE4A.js.map +1 -0
- package/dist/issue-state-machine-OKQIWTVN.js +37 -0
- package/dist/issue-state-machine-OKQIWTVN.js.map +1 -0
- package/dist/mcp/server.js +592 -605
- package/dist/mcp/server.js.map +1 -1
- package/dist/queue-workers-SVNB4ESJ.js +20 -0
- package/dist/queue-workers-SVNB4ESJ.js.map +1 -0
- package/dist/store-NIW6OEYC.js +56 -0
- package/dist/store-NIW6OEYC.js.map +1 -0
- package/package.json +10 -9
- package/FIFONY.md +0 -173
- package/app/dist/assets/KeyboardShortcutsHelp-BTjiQe_Y.js +0 -1
- package/app/dist/assets/OnboardingWizard-BALlquG0.js +0 -1
- package/app/dist/assets/analytics.lazy-DjSzXIey.js +0 -1
- package/app/dist/assets/index-BV11ScVl.js +0 -42
- package/app/dist/assets/index-DWbxgKSd.css +0 -1
- package/app/dist/assets/vendor-BoGBoEwT.js +0 -9
- package/app/dist/assets/zap-DpjdVd1i.js +0 -1
- package/dist/chunk-SMGXYOWU.js.map +0 -1
- package/src/fixtures/agent-catalog.json +0 -208
- package/src/fixtures/skill-catalog.json +0 -67
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { cwd, env, execPath, exit, kill, pid } from \"node:process\";\nimport { dirname, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { createRequire } from \"node:module\";\nimport { readFileSync } from \"node:fs\";\nimport { createCLI, type CommandParseResult } from \"cli-args-parser\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\nconst packageRoot = resolve(__dirname, \"..\");\nconst require = createRequire(import.meta.url);\nconst packageJson = JSON.parse(readFileSync(resolve(packageRoot, \"package.json\"), \"utf8\")) as {\n name?: string;\n version?: string;\n description?: string;\n};\n// Prefer compiled dist/ if available, fallback to tsx + source\nconst distRuntime = resolve(packageRoot, \"dist\", \"agent\", \"run-local.js\");\nconst distMcp = resolve(packageRoot, \"dist\", \"mcp\", \"server.js\");\nconst srcRuntime = resolve(packageRoot, \"src\", \"agent\", \"run-local.ts\");\nconst srcMcp = resolve(packageRoot, \"src\", \"mcp\", \"server.ts\");\n\nimport { existsSync } from \"node:fs\";\nconst forceSource = process.argv.includes(\"--dev\") || env.NODE_ENV === \"development\";\nconst useCompiled = !forceSource && existsSync(distRuntime);\n\nlet tsxCli: string | null = null;\nif (!useCompiled) {\n try { tsxCli = require.resolve(\"tsx/cli\"); } catch {\n console.error(\"No compiled dist/ found and tsx is not installed. Run 'pnpm build' first.\");\n exit(1);\n }\n}\n\nconst runtimeScript = useCompiled ? distRuntime : srcRuntime;\nconst mcpScript = useCompiled ? distMcp : srcMcp;\n\nconst commonOptions = {\n workspace: {\n type: \"string\",\n description: \"Target workspace root. Defaults to the current directory.\",\n },\n persistence: {\n type: \"string\",\n description: \"Persistence root. Defaults to the current directory.\",\n },\n port: {\n type: \"number\",\n aliases: [\"-p\"],\n description: \"Start the local API/dashboard on the provided port.\",\n default: 4000,\n },\n concurrency: {\n type: \"number\",\n description: \"Maximum number of concurrent workers.\",\n },\n attempts: {\n type: \"number\",\n description: \"Maximum attempts per issue.\",\n },\n poll: {\n type: \"number\",\n description: \"Scheduler interval in milliseconds.\",\n },\n once: {\n type: \"boolean\",\n description: \"Process one scheduler cycle and exit.\",\n default: false,\n },\n} as const;\n\nfunction getStringOption(result: CommandParseResult, key: keyof typeof commonOptions): string | undefined {\n const value = result.options[key];\n return typeof value === \"string\" && value.trim() ? value : undefined;\n}\n\nfunction getNumberOption(result: CommandParseResult, key: keyof typeof commonOptions): number | undefined {\n const value = result.options[key];\n return typeof value === \"number\" && Number.isFinite(value) ? value : undefined;\n}\n\nfunction getBooleanOption(result: CommandParseResult, key: keyof typeof commonOptions): boolean {\n return result.options[key] === true;\n}\n\nfunction buildRuntimeArgs(result: CommandParseResult): string[] {\n const runtimeArgs: string[] = [];\n const workspace = getStringOption(result, \"workspace\");\n const persistence = getStringOption(result, \"persistence\");\n const port = getNumberOption(result, \"port\");\n const concurrency = getNumberOption(result, \"concurrency\");\n const attempts = getNumberOption(result, \"attempts\");\n const poll = getNumberOption(result, \"poll\");\n\n if (workspace) {\n runtimeArgs.push(\"--workspace\", workspace);\n }\n if (persistence) {\n runtimeArgs.push(\"--persistence\", persistence);\n }\n if (typeof port === \"number\") {\n runtimeArgs.push(\"--port\", String(port));\n }\n if (typeof concurrency === \"number\") {\n runtimeArgs.push(\"--concurrency\", String(concurrency));\n }\n if (typeof attempts === \"number\") {\n runtimeArgs.push(\"--attempts\", String(attempts));\n }\n if (typeof poll === \"number\") {\n runtimeArgs.push(\"--poll\", String(poll));\n }\n if (getBooleanOption(result, \"once\")) {\n runtimeArgs.push(\"--once\");\n }\n if (forceSource) {\n runtimeArgs.push(\"--dev\");\n }\n\n return runtimeArgs;\n}\n\nasync function runRuntime(mode: \"cli\" | \"mcp\", result: CommandParseResult): Promise<void> {\n const workspace = getStringOption(result, \"workspace\");\n const workspaceRoot = resolve(workspace ?? env.FIFONY_WORKSPACE_ROOT ?? cwd());\n const runtimeArgs = buildRuntimeArgs(result);\n\n const outcome = await new Promise<{ code?: number | null; signal?: NodeJS.Signals | null }>((resolvePromise, rejectPromise) => {\n const args = useCompiled ? [runtimeScript, ...runtimeArgs] : [tsxCli!, runtimeScript, ...runtimeArgs];\n const child = spawn(execPath, args, {\n cwd: workspaceRoot,\n stdio: \"inherit\",\n env: {\n ...env,\n FIFONY_INTERFACE: mode,\n FIFONY_WORKSPACE_ROOT: workspaceRoot,\n },\n });\n\n child.on(\"exit\", (code, signal) => {\n resolvePromise({ code, signal });\n });\n\n child.on(\"error\", (error) => {\n rejectPromise(error);\n });\n });\n\n if (outcome.signal) {\n kill(pid, outcome.signal);\n return;\n }\n\n if (typeof outcome.code === \"number\" && outcome.code !== 0) {\n exit(outcome.code);\n }\n}\n\nasync function runMcpServer(result: CommandParseResult): Promise<void> {\n const workspace = getStringOption(result, \"workspace\");\n const persistence = getStringOption(result, \"persistence\");\n const workspaceRoot = resolve(workspace ?? env.FIFONY_WORKSPACE_ROOT ?? cwd());\n const persistenceRoot = resolve(persistence ?? env.FIFONY_PERSISTENCE ?? workspaceRoot);\n\n const outcome = await new Promise<{ code?: number | null; signal?: NodeJS.Signals | null }>((resolvePromise, rejectPromise) => {\n const mcpArgs = useCompiled ? [mcpScript] : [tsxCli!, mcpScript];\n const child = spawn(execPath, mcpArgs, {\n cwd: workspaceRoot,\n stdio: \"inherit\",\n env: {\n ...env,\n FIFONY_WORKSPACE_ROOT: workspaceRoot,\n FIFONY_PERSISTENCE: persistenceRoot,\n },\n });\n\n child.on(\"exit\", (code, signal) => {\n resolvePromise({ code, signal });\n });\n\n child.on(\"error\", (error) => {\n rejectPromise(error);\n });\n });\n\n if (outcome.signal) {\n kill(pid, outcome.signal);\n return;\n }\n\n if (typeof outcome.code === \"number\" && outcome.code !== 0) {\n exit(outcome.code);\n }\n}\n\nconst cli = createCLI({\n name: packageJson.name ?? \"fifony\",\n version: packageJson.version ?? \"0.0.0\",\n description: packageJson.description ?? \"Filesystem-backed local multi-agent orchestrator.\",\n commands: {\n run: {\n description: \"Run the local Fifony runtime with dashboard/API (default port 4000).\",\n options: commonOptions,\n handler: (result) => runRuntime(\"cli\", result),\n },\n mcp: {\n description: \"Run a Fifony MCP server over stdio with resources, tools, and prompts backed by the local durable store.\",\n options: commonOptions,\n handler: (result) => runMcpServer(result),\n },\n },\n});\n\nfunction normalizeArgs(rawArgs: string[]): string[] {\n if (rawArgs.length === 0) {\n return [\"run\"];\n }\n\n const first = rawArgs[0];\n if ([\"--help\", \"-h\", \"help\", \"--version\", \"-v\", \"version\"].includes(first)) {\n return rawArgs;\n }\n\n if (first.startsWith(\"-\")) {\n return [\"run\", ...rawArgs];\n }\n\n return rawArgs;\n}\n\nconst args = normalizeArgs(process.argv.slice(2));\n\n// Handle help explicitly since cli-args-parser doesn't auto-detect it\nconst firstArg = args[0];\nif (firstArg === \"help\" || firstArg === \"--help\" || firstArg === \"-h\") {\n console.log(cli.help());\n} else {\n cli.run(args).catch((error) => {\n console.error(`Failed to start fifony CLI: ${String(error)}`);\n exit(1);\n });\n}\n"],"mappings":"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","names":["require","args"]}
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { cwd, env, execPath, exit, kill, pid } from \"node:process\";\nimport { dirname, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { createRequire } from \"node:module\";\nimport { readFileSync } from \"node:fs\";\nimport { createCLI, type CommandParseResult } from \"cli-args-parser\";\nimport {\n getReferenceRepositoriesRoot,\n importReferenceArtifacts,\n listReferenceRepositories,\n syncReferenceRepositories,\n type ReferenceImportSummary,\n type ReferenceImportKind,\n type ReferenceSyncResult,\n} from \"./domains/project.ts\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\nconst packageRoot = resolve(__dirname, \"..\");\nconst require = createRequire(import.meta.url);\nconst packageJson = JSON.parse(readFileSync(resolve(packageRoot, \"package.json\"), \"utf8\")) as {\n name?: string;\n version?: string;\n description?: string;\n};\n// Prefer compiled dist/ if available, fallback to tsx + source\nconst distRuntime = resolve(packageRoot, \"dist\", \"agent\", \"run-local.js\");\nconst distMcp = resolve(packageRoot, \"dist\", \"mcp\", \"server.js\");\nconst srcRuntime = resolve(packageRoot, \"src\", \"boot.ts\");\nconst srcMcp = resolve(packageRoot, \"src\", \"mcp\", \"server.ts\");\n\nimport { existsSync } from \"node:fs\";\nconst forceSource = process.argv.includes(\"--dev\") || env.NODE_ENV === \"development\";\nconst useCompiled = !forceSource && existsSync(distRuntime);\n\nlet tsxCli: string | null = null;\nif (!useCompiled) {\n try { tsxCli = require.resolve(\"tsx/cli\"); } catch {\n console.error(\"No compiled dist/ found and tsx is not installed. Run 'pnpm build' first.\");\n exit(1);\n }\n}\n\nconst runtimeScript = useCompiled ? distRuntime : srcRuntime;\nconst mcpScript = useCompiled ? distMcp : srcMcp;\n\nconst commonOptions = {\n workspace: {\n type: \"string\",\n description: \"Target workspace root. Defaults to the current directory.\",\n },\n persistence: {\n type: \"string\",\n description: \"Persistence root. Defaults to the current directory.\",\n },\n port: {\n type: \"number\",\n aliases: [\"-p\"],\n description: \"Start the local API/dashboard on the provided port.\",\n default: 4000,\n },\n concurrency: {\n type: \"number\",\n description: \"Maximum number of concurrent workers.\",\n },\n attempts: {\n type: \"number\",\n description: \"Maximum attempts per issue.\",\n },\n poll: {\n type: \"number\",\n description: \"Scheduler interval in milliseconds.\",\n },\n once: {\n type: \"boolean\",\n description: \"Process one scheduler cycle and exit.\",\n default: false,\n },\n} as const;\n\nfunction getStringOption(result: CommandParseResult, key: string): string | undefined {\n const value = result.options[key];\n return typeof value === \"string\" && value.trim() ? value : undefined;\n}\n\nfunction getNumberOption(result: CommandParseResult, key: string): number | undefined {\n const value = result.options[key];\n return typeof value === \"number\" && Number.isFinite(value) ? value : undefined;\n}\n\nfunction getBooleanOption(result: CommandParseResult, key: string): boolean {\n return result.options[key] === true;\n}\n\nfunction parseReferenceKind(value: unknown): ReferenceImportKind {\n const normalized = typeof value === \"string\" ? value.trim().toLowerCase() : \"all\";\n if (normalized === \"all\") return \"all\";\n if (normalized === \"agents\" || normalized === \"agent\") return \"agents\";\n if (normalized === \"skills\" || normalized === \"skill\") return \"skills\";\n throw new Error(`Invalid kind: ${normalized}. Expected all, agents, or skills.`);\n}\n\nfunction getWorkspaceRoot(result: CommandParseResult): string {\n const workspace = getStringOption(result, \"workspace\");\n return resolve(workspace ?? env.FIFONY_WORKSPACE_ROOT ?? cwd());\n}\n\nasync function runOnboardingList(): Promise<void> {\n const root = getReferenceRepositoriesRoot();\n const repositories = listReferenceRepositories();\n\n console.log(\"Reference repositories:\");\n console.log(`Storage: ${root}`);\n console.log(\"\");\n\n for (const repository of repositories) {\n const status = repository.synced\n ? repository.branch\n ? `synced (${repository.branch})`\n : \"synced\"\n : repository.present\n ? `present — ${repository.error ?? \"not synced\"}`\n : \"not found\";\n\n console.log(`- ${repository.id}`);\n console.log(` name: ${repository.name}`);\n console.log(` url: ${repository.url}`);\n console.log(` path: ${repository.path}`);\n console.log(` status: ${status}`);\n if (repository.remote) {\n console.log(` remote: ${repository.remote}`);\n }\n console.log(\"\");\n }\n}\n\nasync function runOnboardingSync(result: CommandParseResult): Promise<void> {\n const repositoryFilter = getStringOption(result, \"repository\");\n let syncTarget: ReferenceSyncResult[];\n try {\n syncTarget = repositoryFilter\n ? syncReferenceRepositories(repositoryFilter)\n : syncReferenceRepositories();\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n exit(1);\n return;\n }\n\n const succeeded: ReferenceSyncResult[] = [];\n const failed: ReferenceSyncResult[] = [];\n\n for (const item of syncTarget) {\n if (item.action === \"failed\") {\n failed.push(item);\n } else {\n succeeded.push(item);\n }\n\n if (item.action === \"failed\") {\n console.log(`✗ ${item.id}: ${item.message}`);\n } else if (item.action === \"cloned\") {\n console.log(`+ ${item.id}: ${item.message}`);\n } else {\n console.log(`↻ ${item.id}: ${item.message}`);\n }\n }\n\n if (failed.length > 0) {\n console.log(\"\");\n console.log(`${succeeded.length} repository(ies) synced, ${failed.length} failed.`);\n console.log(\"Run onboarding sync with a direct repository to retry failed items.\");\n exit(1);\n }\n\n console.log(\"\");\n console.log(`Done: ${succeeded.length} repository(ies) synced.`);\n}\n\nasync function runOnboardingImport(result: CommandParseResult): Promise<void> {\n const repository = typeof result.positional?.repository === \"string\" ? result.positional.repository : \"\";\n let kind: ReferenceImportKind;\n try {\n kind = parseReferenceKind(result.options.kind);\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n exit(1);\n return;\n }\n const overwrite = getBooleanOption(result, \"overwrite\");\n const dryRun = getBooleanOption(result, \"dryRun\");\n const importToGlobal = getBooleanOption(result, \"global\");\n const workspaceRoot = getWorkspaceRoot(result);\n\n if (!repository) {\n console.error(\"Repository argument is required.\");\n exit(1);\n }\n\n let summary: ReferenceImportSummary;\n try {\n summary = importReferenceArtifacts(repository, workspaceRoot, {\n kind,\n overwrite,\n dryRun,\n importToGlobal,\n });\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n exit(1);\n return;\n }\n\n const targetLabel = importToGlobal ? \"global ~/.codex\" : `${workspaceRoot}/.codex`;\n\n if (dryRun) {\n console.log(`Dry run active. No files were written.`);\n }\n console.log(`Reference repository: ${summary.repositoryId}`);\n console.log(`Source: ${summary.localPath}`);\n console.log(`Target: ${targetLabel}`);\n console.log(`Kind: ${summary.requestedKind}`);\n console.log(`Imported agents: ${summary.importedAgents.length}`);\n console.log(`Imported skills: ${summary.importedSkills.length}`);\n console.log(`Skipped agents: ${summary.skippedAgents.length}`);\n console.log(`Skipped skills: ${summary.skippedSkills.length}`);\n\n if (summary.errors.length > 0) {\n console.log(\"\");\n console.log(\"Errors:\");\n for (const item of summary.errors) {\n console.log(`- ${item.kind}/${item.targetName}: ${item.error}`);\n }\n exit(1);\n }\n\n if (summary.importedAgents.length + summary.importedSkills.length === 0) {\n console.log(\"Nothing to import. Run onboarding sync first if the repository was not downloaded.\");\n return;\n }\n}\n\nfunction buildRuntimeArgs(result: CommandParseResult): string[] {\n const runtimeArgs: string[] = [];\n const workspace = getStringOption(result, \"workspace\");\n const persistence = getStringOption(result, \"persistence\");\n const port = getNumberOption(result, \"port\");\n const concurrency = getNumberOption(result, \"concurrency\");\n const attempts = getNumberOption(result, \"attempts\");\n const poll = getNumberOption(result, \"poll\");\n\n if (workspace) {\n runtimeArgs.push(\"--workspace\", workspace);\n }\n if (persistence) {\n runtimeArgs.push(\"--persistence\", persistence);\n }\n if (typeof port === \"number\") {\n runtimeArgs.push(\"--port\", String(port));\n }\n if (typeof concurrency === \"number\") {\n runtimeArgs.push(\"--concurrency\", String(concurrency));\n }\n if (typeof attempts === \"number\") {\n runtimeArgs.push(\"--attempts\", String(attempts));\n }\n if (typeof poll === \"number\") {\n runtimeArgs.push(\"--poll\", String(poll));\n }\n if (getBooleanOption(result, \"once\")) {\n runtimeArgs.push(\"--once\");\n }\n if (forceSource) {\n runtimeArgs.push(\"--dev\");\n }\n\n return runtimeArgs;\n}\n\nasync function runRuntime(mode: \"cli\" | \"mcp\", result: CommandParseResult): Promise<void> {\n const workspace = getStringOption(result, \"workspace\");\n const workspaceRoot = resolve(workspace ?? env.FIFONY_WORKSPACE_ROOT ?? cwd());\n const runtimeArgs = buildRuntimeArgs(result);\n\n const outcome = await new Promise<{ code?: number | null; signal?: NodeJS.Signals | null }>((resolvePromise, rejectPromise) => {\n const args = useCompiled ? [runtimeScript, ...runtimeArgs] : [tsxCli!, runtimeScript, ...runtimeArgs];\n const child = spawn(execPath, args, {\n cwd: workspaceRoot,\n stdio: \"inherit\",\n env: {\n ...env,\n FIFONY_INTERFACE: mode,\n FIFONY_WORKSPACE_ROOT: workspaceRoot,\n },\n });\n\n child.on(\"exit\", (code, signal) => {\n resolvePromise({ code, signal });\n });\n\n child.on(\"error\", (error) => {\n rejectPromise(error);\n });\n });\n\n if (outcome.signal) {\n kill(pid, outcome.signal);\n return;\n }\n\n if (typeof outcome.code === \"number\" && outcome.code !== 0) {\n exit(outcome.code);\n }\n}\n\nasync function runMcpServer(result: CommandParseResult): Promise<void> {\n const workspace = getStringOption(result, \"workspace\");\n const persistence = getStringOption(result, \"persistence\");\n const workspaceRoot = resolve(workspace ?? env.FIFONY_WORKSPACE_ROOT ?? cwd());\n const persistenceRoot = resolve(persistence ?? env.FIFONY_PERSISTENCE ?? workspaceRoot);\n\n const outcome = await new Promise<{ code?: number | null; signal?: NodeJS.Signals | null }>((resolvePromise, rejectPromise) => {\n const mcpArgs = useCompiled ? [mcpScript] : [tsxCli!, mcpScript];\n const child = spawn(execPath, mcpArgs, {\n cwd: workspaceRoot,\n stdio: \"inherit\",\n env: {\n ...env,\n FIFONY_WORKSPACE_ROOT: workspaceRoot,\n FIFONY_PERSISTENCE: persistenceRoot,\n },\n });\n\n child.on(\"exit\", (code, signal) => {\n resolvePromise({ code, signal });\n });\n\n child.on(\"error\", (error) => {\n rejectPromise(error);\n });\n });\n\n if (outcome.signal) {\n kill(pid, outcome.signal);\n return;\n }\n\n if (typeof outcome.code === \"number\" && outcome.code !== 0) {\n exit(outcome.code);\n }\n}\n\nconst cli = createCLI({\n name: packageJson.name ?? \"fifony\",\n version: packageJson.version ?? \"0.0.0\",\n description: packageJson.description ?? \"Filesystem-backed local multi-agent orchestrator.\",\n commands: {\n run: {\n description: \"Run the local Fifony runtime with dashboard/API (default port 4000).\",\n options: commonOptions,\n handler: (result) => runRuntime(\"cli\", result),\n },\n mcp: {\n description: \"Run a Fifony MCP server over stdio with resources, tools, and prompts backed by the local durable store.\",\n options: commonOptions,\n handler: (result) => runMcpServer(result),\n },\n onboarding: {\n description: \"Manage reference repositories and import agents/skills from them.\",\n aliases: [\"onboard\"],\n commands: {\n list: {\n description: \"List reference repositories and local sync status.\",\n handler: () => runOnboardingList(),\n },\n sync: {\n description: \"Clone/update reference repositories into ~/.fifony/repositories.\",\n options: {\n repository: {\n short: \"r\",\n type: \"string\",\n description: \"Sync only this repository by id or URL.\",\n },\n },\n handler: (result) => runOnboardingSync(result),\n },\n import: {\n description: \"Import agents/skills from a synced reference repository.\",\n aliases: [\"integrate\"],\n positional: [\n {\n name: \"repository\",\n type: \"string\",\n required: true,\n description: \"Repository id or URL\",\n },\n ],\n options: {\n kind: {\n short: \"k\",\n type: \"string\",\n default: \"all\",\n description: \"What to import: agents, skills, or all (default: all).\",\n },\n overwrite: {\n type: \"boolean\",\n description: \"Overwrite existing local files.\",\n },\n dryRun: {\n type: \"boolean\",\n description: \"Show what would be imported without writing files.\",\n },\n global: {\n type: \"boolean\",\n description: \"Import into ~/.codex instead of workspace .codex.\",\n },\n },\n handler: (result) => runOnboardingImport(result),\n },\n },\n },\n },\n});\n\nfunction normalizeArgs(rawArgs: string[]): string[] {\n if (rawArgs.length === 0) {\n return [\"run\"];\n }\n\n const first = rawArgs[0];\n if ([\"--help\", \"-h\", \"help\", \"--version\", \"-v\", \"version\"].includes(first)) {\n return rawArgs;\n }\n\n if (first.startsWith(\"-\")) {\n return [\"run\", ...rawArgs];\n }\n\n return rawArgs;\n}\n\nconst args = normalizeArgs(process.argv.slice(2));\n\n// Handle help explicitly since cli-args-parser doesn't auto-detect it\nconst firstArg = args[0];\nif (firstArg === \"help\" || firstArg === \"--help\" || firstArg === \"-h\") {\n console.log(cli.help());\n} else {\n cli.run(args).catch((error) => {\n console.error(`Failed to start fifony CLI: ${String(error)}`);\n exit(1);\n });\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,aAAa;AACtB,SAAS,KAAK,KAAK,UAAU,MAAM,MAAM,WAAW;AACpD,SAAS,SAAS,eAAe;AACjC,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,iBAA0C;AA0BnD,SAAS,kBAAkB;AAf3B,IAAM,aAAa,cAAc,YAAY,GAAG;AAChD,IAAM,YAAY,QAAQ,UAAU;AACpC,IAAM,cAAc,QAAQ,WAAW,IAAI;AAC3C,IAAMA,WAAU,cAAc,YAAY,GAAG;AAC7C,IAAM,cAAc,KAAK,MAAM,aAAa,QAAQ,aAAa,cAAc,GAAG,MAAM,CAAC;AAMzF,IAAM,cAAc,QAAQ,aAAa,QAAQ,SAAS,cAAc;AACxE,IAAM,UAAU,QAAQ,aAAa,QAAQ,OAAO,WAAW;AAC/D,IAAM,aAAa,QAAQ,aAAa,OAAO,SAAS;AACxD,IAAM,SAAS,QAAQ,aAAa,OAAO,OAAO,WAAW;AAG7D,IAAM,cAAc,QAAQ,KAAK,SAAS,OAAO,KAAK,IAAI,aAAa;AACvE,IAAM,cAAc,CAAC,eAAe,WAAW,WAAW;AAE1D,IAAI,SAAwB;AAC5B,IAAI,CAAC,aAAa;AAChB,MAAI;AAAE,aAASA,SAAQ,QAAQ,SAAS;AAAA,EAAG,QAAQ;AACjD,YAAQ,MAAM,2EAA2E;AACzF,SAAK,CAAC;AAAA,EACR;AACF;AAEA,IAAM,gBAAgB,cAAc,cAAc;AAClD,IAAM,YAAY,cAAc,UAAU;AAE1C,IAAM,gBAAgB;AAAA,EACpB,WAAW;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS,CAAC,IAAI;AAAA,IACd,aAAa;AAAA,IACb,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS;AAAA,EACX;AACF;AAEA,SAAS,gBAAgB,QAA4B,KAAiC;AACpF,QAAM,QAAQ,OAAO,QAAQ,GAAG;AAChC,SAAO,OAAO,UAAU,YAAY,MAAM,KAAK,IAAI,QAAQ;AAC7D;AAEA,SAAS,gBAAgB,QAA4B,KAAiC;AACpF,QAAM,QAAQ,OAAO,QAAQ,GAAG;AAChC,SAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IAAI,QAAQ;AACvE;AAEA,SAAS,iBAAiB,QAA4B,KAAsB;AAC1E,SAAO,OAAO,QAAQ,GAAG,MAAM;AACjC;AAEA,SAAS,mBAAmB,OAAqC;AAC/D,QAAM,aAAa,OAAO,UAAU,WAAW,MAAM,KAAK,EAAE,YAAY,IAAI;AAC5E,MAAI,eAAe,MAAO,QAAO;AACjC,MAAI,eAAe,YAAY,eAAe,QAAS,QAAO;AAC9D,MAAI,eAAe,YAAY,eAAe,QAAS,QAAO;AAC9D,QAAM,IAAI,MAAM,iBAAiB,UAAU,oCAAoC;AACjF;AAEA,SAAS,iBAAiB,QAAoC;AAC5D,QAAM,YAAY,gBAAgB,QAAQ,WAAW;AACrD,SAAO,QAAQ,aAAa,IAAI,yBAAyB,IAAI,CAAC;AAChE;AAEA,eAAe,oBAAmC;AAChD,QAAM,OAAO,6BAA6B;AAC1C,QAAM,eAAe,0BAA0B;AAE/C,UAAQ,IAAI,yBAAyB;AACrC,UAAQ,IAAI,YAAY,IAAI,EAAE;AAC9B,UAAQ,IAAI,EAAE;AAEd,aAAW,cAAc,cAAc;AACrC,UAAM,SAAS,WAAW,SACtB,WAAW,SACT,WAAW,WAAW,MAAM,MAC5B,WACF,WAAW,UACT,kBAAa,WAAW,SAAS,YAAY,KAC7C;AAEN,YAAQ,IAAI,KAAK,WAAW,EAAE,EAAE;AAChC,YAAQ,IAAI,WAAW,WAAW,IAAI,EAAE;AACxC,YAAQ,IAAI,WAAW,WAAW,GAAG,EAAE;AACvC,YAAQ,IAAI,WAAW,WAAW,IAAI,EAAE;AACxC,YAAQ,IAAI,aAAa,MAAM,EAAE;AACjC,QAAI,WAAW,QAAQ;AACrB,cAAQ,IAAI,aAAa,WAAW,MAAM,EAAE;AAAA,IAC9C;AACA,YAAQ,IAAI,EAAE;AAAA,EAChB;AACF;AAEA,eAAe,kBAAkB,QAA2C;AAC1E,QAAM,mBAAmB,gBAAgB,QAAQ,YAAY;AAC7D,MAAI;AACJ,MAAI;AACF,iBAAa,mBACT,0BAA0B,gBAAgB,IAC1C,0BAA0B;AAAA,EAChC,SAAS,OAAO;AACd,YAAQ,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AACpE,SAAK,CAAC;AACN;AAAA,EACF;AAEA,QAAM,YAAmC,CAAC;AAC1C,QAAM,SAAgC,CAAC;AAEvC,aAAW,QAAQ,YAAY;AAC7B,QAAI,KAAK,WAAW,UAAU;AAC5B,aAAO,KAAK,IAAI;AAAA,IAClB,OAAO;AACL,gBAAU,KAAK,IAAI;AAAA,IACrB;AAEA,QAAI,KAAK,WAAW,UAAU;AAC5B,cAAQ,IAAI,UAAK,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE;AAAA,IAC7C,WAAW,KAAK,WAAW,UAAU;AACnC,cAAQ,IAAI,KAAK,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE;AAAA,IAC7C,OAAO;AACL,cAAQ,IAAI,UAAK,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE;AAAA,IAC7C;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,GAAG;AACrB,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,GAAG,UAAU,MAAM,4BAA4B,OAAO,MAAM,UAAU;AAClF,YAAQ,IAAI,qEAAqE;AACjF,SAAK,CAAC;AAAA,EACR;AAEA,UAAQ,IAAI,EAAE;AACd,UAAQ,IAAI,SAAS,UAAU,MAAM,0BAA0B;AACjE;AAEA,eAAe,oBAAoB,QAA2C;AAC5E,QAAM,aAAa,OAAO,OAAO,YAAY,eAAe,WAAW,OAAO,WAAW,aAAa;AACtG,MAAI;AACJ,MAAI;AACF,WAAO,mBAAmB,OAAO,QAAQ,IAAI;AAAA,EAC/C,SAAS,OAAO;AACd,YAAQ,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AACpE,SAAK,CAAC;AACN;AAAA,EACF;AACA,QAAM,YAAY,iBAAiB,QAAQ,WAAW;AACtD,QAAM,SAAS,iBAAiB,QAAQ,QAAQ;AAChD,QAAM,iBAAiB,iBAAiB,QAAQ,QAAQ;AACxD,QAAM,gBAAgB,iBAAiB,MAAM;AAE7C,MAAI,CAAC,YAAY;AACf,YAAQ,MAAM,kCAAkC;AAChD,SAAK,CAAC;AAAA,EACR;AAEA,MAAI;AACJ,MAAI;AACF,cAAU,yBAAyB,YAAY,eAAe;AAAA,MAC5D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,SAAS,OAAO;AACd,YAAQ,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AACpE,SAAK,CAAC;AACN;AAAA,EACF;AAEA,QAAM,cAAc,iBAAiB,oBAAoB,GAAG,aAAa;AAEzE,MAAI,QAAQ;AACV,YAAQ,IAAI,wCAAwC;AAAA,EACtD;AACA,UAAQ,IAAI,yBAAyB,QAAQ,YAAY,EAAE;AAC3D,UAAQ,IAAI,WAAW,QAAQ,SAAS,EAAE;AAC1C,UAAQ,IAAI,WAAW,WAAW,EAAE;AACpC,UAAQ,IAAI,SAAS,QAAQ,aAAa,EAAE;AAC5C,UAAQ,IAAI,oBAAoB,QAAQ,eAAe,MAAM,EAAE;AAC/D,UAAQ,IAAI,oBAAoB,QAAQ,eAAe,MAAM,EAAE;AAC/D,UAAQ,IAAI,mBAAmB,QAAQ,cAAc,MAAM,EAAE;AAC7D,UAAQ,IAAI,mBAAmB,QAAQ,cAAc,MAAM,EAAE;AAE7D,MAAI,QAAQ,OAAO,SAAS,GAAG;AAC7B,YAAQ,IAAI,EAAE;AACd,YAAQ,IAAI,SAAS;AACrB,eAAW,QAAQ,QAAQ,QAAQ;AACjC,cAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,UAAU,KAAK,KAAK,KAAK,EAAE;AAAA,IAChE;AACA,SAAK,CAAC;AAAA,EACR;AAEA,MAAI,QAAQ,eAAe,SAAS,QAAQ,eAAe,WAAW,GAAG;AACvE,YAAQ,IAAI,oFAAoF;AAChG;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,QAAsC;AAC9D,QAAM,cAAwB,CAAC;AAC/B,QAAM,YAAY,gBAAgB,QAAQ,WAAW;AACrD,QAAM,cAAc,gBAAgB,QAAQ,aAAa;AACzD,QAAM,OAAO,gBAAgB,QAAQ,MAAM;AAC3C,QAAM,cAAc,gBAAgB,QAAQ,aAAa;AACzD,QAAM,WAAW,gBAAgB,QAAQ,UAAU;AACnD,QAAM,OAAO,gBAAgB,QAAQ,MAAM;AAE3C,MAAI,WAAW;AACb,gBAAY,KAAK,eAAe,SAAS;AAAA,EAC3C;AACA,MAAI,aAAa;AACf,gBAAY,KAAK,iBAAiB,WAAW;AAAA,EAC/C;AACA,MAAI,OAAO,SAAS,UAAU;AAC5B,gBAAY,KAAK,UAAU,OAAO,IAAI,CAAC;AAAA,EACzC;AACA,MAAI,OAAO,gBAAgB,UAAU;AACnC,gBAAY,KAAK,iBAAiB,OAAO,WAAW,CAAC;AAAA,EACvD;AACA,MAAI,OAAO,aAAa,UAAU;AAChC,gBAAY,KAAK,cAAc,OAAO,QAAQ,CAAC;AAAA,EACjD;AACA,MAAI,OAAO,SAAS,UAAU;AAC5B,gBAAY,KAAK,UAAU,OAAO,IAAI,CAAC;AAAA,EACzC;AACA,MAAI,iBAAiB,QAAQ,MAAM,GAAG;AACpC,gBAAY,KAAK,QAAQ;AAAA,EAC3B;AACA,MAAI,aAAa;AACf,gBAAY,KAAK,OAAO;AAAA,EAC1B;AAEA,SAAO;AACT;AAEA,eAAe,WAAW,MAAqB,QAA2C;AACxF,QAAM,YAAY,gBAAgB,QAAQ,WAAW;AACrD,QAAM,gBAAgB,QAAQ,aAAa,IAAI,yBAAyB,IAAI,CAAC;AAC7E,QAAM,cAAc,iBAAiB,MAAM;AAE3C,QAAM,UAAU,MAAM,IAAI,QAAkE,CAAC,gBAAgB,kBAAkB;AAC7H,UAAMC,QAAO,cAAc,CAAC,eAAe,GAAG,WAAW,IAAI,CAAC,QAAS,eAAe,GAAG,WAAW;AACpG,UAAM,QAAQ,MAAM,UAAUA,OAAM;AAAA,MAClC,KAAK;AAAA,MACL,OAAO;AAAA,MACP,KAAK;AAAA,QACH,GAAG;AAAA,QACH,kBAAkB;AAAA,QAClB,uBAAuB;AAAA,MACzB;AAAA,IACF,CAAC;AAED,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,qBAAe,EAAE,MAAM,OAAO,CAAC;AAAA,IACjC,CAAC;AAED,UAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,oBAAc,KAAK;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AAED,MAAI,QAAQ,QAAQ;AAClB,SAAK,KAAK,QAAQ,MAAM;AACxB;AAAA,EACF;AAEA,MAAI,OAAO,QAAQ,SAAS,YAAY,QAAQ,SAAS,GAAG;AAC1D,SAAK,QAAQ,IAAI;AAAA,EACnB;AACF;AAEA,eAAe,aAAa,QAA2C;AACrE,QAAM,YAAY,gBAAgB,QAAQ,WAAW;AACrD,QAAM,cAAc,gBAAgB,QAAQ,aAAa;AACzD,QAAM,gBAAgB,QAAQ,aAAa,IAAI,yBAAyB,IAAI,CAAC;AAC7E,QAAM,kBAAkB,QAAQ,eAAe,IAAI,sBAAsB,aAAa;AAEtF,QAAM,UAAU,MAAM,IAAI,QAAkE,CAAC,gBAAgB,kBAAkB;AAC7H,UAAM,UAAU,cAAc,CAAC,SAAS,IAAI,CAAC,QAAS,SAAS;AAC/D,UAAM,QAAQ,MAAM,UAAU,SAAS;AAAA,MACrC,KAAK;AAAA,MACL,OAAO;AAAA,MACP,KAAK;AAAA,QACH,GAAG;AAAA,QACH,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,MACtB;AAAA,IACF,CAAC;AAED,UAAM,GAAG,QAAQ,CAAC,MAAM,WAAW;AACjC,qBAAe,EAAE,MAAM,OAAO,CAAC;AAAA,IACjC,CAAC;AAED,UAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,oBAAc,KAAK;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AAED,MAAI,QAAQ,QAAQ;AAClB,SAAK,KAAK,QAAQ,MAAM;AACxB;AAAA,EACF;AAEA,MAAI,OAAO,QAAQ,SAAS,YAAY,QAAQ,SAAS,GAAG;AAC1D,SAAK,QAAQ,IAAI;AAAA,EACnB;AACF;AAEA,IAAM,MAAM,UAAU;AAAA,EACpB,MAAM,YAAY,QAAQ;AAAA,EAC1B,SAAS,YAAY,WAAW;AAAA,EAChC,aAAa,YAAY,eAAe;AAAA,EACxC,UAAU;AAAA,IACR,KAAK;AAAA,MACH,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS,CAAC,WAAW,WAAW,OAAO,MAAM;AAAA,IAC/C;AAAA,IACA,KAAK;AAAA,MACH,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS,CAAC,WAAW,aAAa,MAAM;AAAA,IAC1C;AAAA,IACA,YAAY;AAAA,MACV,aAAa;AAAA,MACb,SAAS,CAAC,SAAS;AAAA,MACnB,UAAU;AAAA,QACR,MAAM;AAAA,UACJ,aAAa;AAAA,UACb,SAAS,MAAM,kBAAkB;AAAA,QACnC;AAAA,QACA,MAAM;AAAA,UACJ,aAAa;AAAA,UACb,SAAS;AAAA,YACP,YAAY;AAAA,cACV,OAAO;AAAA,cACP,MAAM;AAAA,cACN,aAAa;AAAA,YACf;AAAA,UACF;AAAA,UACA,SAAS,CAAC,WAAW,kBAAkB,MAAM;AAAA,QAC/C;AAAA,QACA,QAAQ;AAAA,UACN,aAAa;AAAA,UACb,SAAS,CAAC,WAAW;AAAA,UACrB,YAAY;AAAA,YACV;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,cACN,UAAU;AAAA,cACV,aAAa;AAAA,YACf;AAAA,UACF;AAAA,UACA,SAAS;AAAA,YACP,MAAM;AAAA,cACJ,OAAO;AAAA,cACP,MAAM;AAAA,cACN,SAAS;AAAA,cACT,aAAa;AAAA,YACf;AAAA,YACA,WAAW;AAAA,cACT,MAAM;AAAA,cACN,aAAa;AAAA,YACf;AAAA,YACA,QAAQ;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,YACf;AAAA,YACA,QAAQ;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,YACf;AAAA,UACF;AAAA,UACA,SAAS,CAAC,WAAW,oBAAoB,MAAM;AAAA,QACjD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,SAAS,cAAc,SAA6B;AAClD,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO,CAAC,KAAK;AAAA,EACf;AAEA,QAAM,QAAQ,QAAQ,CAAC;AACvB,MAAI,CAAC,UAAU,MAAM,QAAQ,aAAa,MAAM,SAAS,EAAE,SAAS,KAAK,GAAG;AAC1E,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,WAAW,GAAG,GAAG;AACzB,WAAO,CAAC,OAAO,GAAG,OAAO;AAAA,EAC3B;AAEA,SAAO;AACT;AAEA,IAAM,OAAO,cAAc,QAAQ,KAAK,MAAM,CAAC,CAAC;AAGhD,IAAM,WAAW,KAAK,CAAC;AACvB,IAAI,aAAa,UAAU,aAAa,YAAY,aAAa,MAAM;AACrE,UAAQ,IAAI,IAAI,KAAK,CAAC;AACxB,OAAO;AACL,MAAI,IAAI,IAAI,EAAE,MAAM,CAAC,UAAU;AAC7B,YAAQ,MAAM,+BAA+B,OAAO,KAAK,CAAC,EAAE;AAC5D,SAAK,CAAC;AAAA,EACR,CAAC;AACH;","names":["require","args"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
runIssueOnce,
|
|
3
|
+
runPlanningJob
|
|
4
|
+
} from "./chunk-IXE2JEIU.js";
|
|
5
|
+
import "./chunk-CWC7H4H3.js";
|
|
6
|
+
import "./chunk-NA6PJPZD.js";
|
|
7
|
+
import "./chunk-DD5BE2W6.js";
|
|
8
|
+
import "./chunk-DVU3CXWA.js";
|
|
9
|
+
export {
|
|
10
|
+
runIssueOnce,
|
|
11
|
+
runPlanningJob
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=issue-runner-OEUARE4A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ISSUE_STATE_MACHINE_ID,
|
|
3
|
+
canTransitionIssue,
|
|
4
|
+
eventToTargetState,
|
|
5
|
+
executeTransition,
|
|
6
|
+
findIssueStateMachineTransitionPath,
|
|
7
|
+
getIssueResourceStateApi,
|
|
8
|
+
getIssueStateMachineDefinition,
|
|
9
|
+
getIssueStateMachineInitialState,
|
|
10
|
+
getIssueStateMachinePlugin,
|
|
11
|
+
getIssueTransitionHistory,
|
|
12
|
+
getStateMachineTransitions,
|
|
13
|
+
issueStateMachineConfig,
|
|
14
|
+
setIssueResourceStateApi,
|
|
15
|
+
setIssueStateMachinePlugin,
|
|
16
|
+
visualizeStateMachine
|
|
17
|
+
} from "./chunk-NA6PJPZD.js";
|
|
18
|
+
import "./chunk-DD5BE2W6.js";
|
|
19
|
+
import "./chunk-DVU3CXWA.js";
|
|
20
|
+
export {
|
|
21
|
+
ISSUE_STATE_MACHINE_ID,
|
|
22
|
+
canTransitionIssue,
|
|
23
|
+
eventToTargetState,
|
|
24
|
+
executeTransition,
|
|
25
|
+
findIssueStateMachineTransitionPath,
|
|
26
|
+
getIssueResourceStateApi,
|
|
27
|
+
getIssueStateMachineDefinition,
|
|
28
|
+
getIssueStateMachineInitialState,
|
|
29
|
+
getIssueStateMachinePlugin,
|
|
30
|
+
getIssueTransitionHistory,
|
|
31
|
+
getStateMachineTransitions,
|
|
32
|
+
issueStateMachineConfig,
|
|
33
|
+
setIssueResourceStateApi,
|
|
34
|
+
setIssueStateMachinePlugin,
|
|
35
|
+
visualizeStateMachine
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=issue-state-machine-OKQIWTVN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|