@openspecui/core 13.0.1 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/{active-root-config-wpH_ZblJ.d.mts → active-root-config-EIowq49O.d.mts} +15 -15
  2. package/dist/active-root-config.d.mts +4 -4
  3. package/dist/app-daemon-control.d.mts +59 -59
  4. package/dist/{cli-projection-0tdEPnTe.d.mts → cli-projection-e0TxFXmU.d.mts} +1 -1
  5. package/dist/cli-projection.d.mts +4 -4
  6. package/dist/{command-result-DfCY18TD.mjs → command-result-BBsaUYw2.mjs} +88 -8
  7. package/dist/{dashboard-summary-transport-uE7nCxmD.d.mts → dashboard-summary-transport-B7L2JSs-.d.mts} +3127 -2936
  8. package/dist/dashboard-summary-transport.d.mts +17 -17
  9. package/dist/hosted-app.d.mts +17 -17
  10. package/dist/hosted-contract.d.mts +17 -17
  11. package/dist/{index-DPsUTX4C.d.mts → index-D8GM018H.d.mts} +1331 -64
  12. package/dist/index.d.mts +17 -17
  13. package/dist/index.mjs +174 -43
  14. package/dist/{local-download-profiles-CsKGe_qF.d.mts → local-download-profiles-DWHZXsY_.d.mts} +1 -1
  15. package/dist/local-download-profiles.d.mts +2 -2
  16. package/dist/{notifications-B8Ael_hq.d.mts → notifications-BPz-EXzD.d.mts} +7 -7
  17. package/dist/notifications.d.mts +2 -2
  18. package/dist/{openspec-compat-CNMMuTot.mjs → openspec-compat-B1OCT-hK.mjs} +14 -13
  19. package/dist/openspec-compat.d.mts +3 -3
  20. package/dist/openspec-compat.mjs +2 -2
  21. package/dist/{openspec-projection-xOnjhQ7v.d.mts → openspec-projection-Bh3BECEE.d.mts} +1 -1
  22. package/dist/openspec-projection.d.mts +2 -2
  23. package/dist/{opsx-entity-DsigFL5Z.d.mts → opsx-entity-Q_C0zjFo.d.mts} +2 -2
  24. package/dist/opsx-entity.d.mts +6 -6
  25. package/dist/{opsx-schema-detail-IlY4T5vO.d.mts → opsx-schema-detail-DhoLJ6GN.d.mts} +2 -2
  26. package/dist/opsx-schema-detail.d.mts +7 -7
  27. package/dist/{opsx-types-r1oKVWgZ.d.mts → opsx-types-FvNmqVVh.d.mts} +345 -198
  28. package/dist/{planning-cli-projection-C4eG7-Yr.mjs → planning-cli-projection-DJ9Llzan.mjs} +62 -7
  29. package/dist/planning-cli-projection.d.mts +17 -17
  30. package/dist/planning-cli-projection.mjs +3 -3
  31. package/dist/{schemas-pfpqDlAd.d.mts → schemas-DqfpM3ZI.d.mts} +2 -2
  32. package/dist/{sounds-B0GiWqBN.d.mts → sounds-DbXwtc44.d.mts} +5 -5
  33. package/dist/sounds.d.mts +1 -1
  34. package/dist/{spec-catalog-B8TIBzwP.mjs → spec-catalog-Ce-UQqxo.mjs} +14 -1
  35. package/dist/spec-catalog.d.mts +17 -17
  36. package/dist/spec-catalog.mjs +2 -2
  37. package/dist/{store-mutation-protocol-DXeWtAvN.d.mts → store-mutation-protocol-C9xgZkNh.d.mts} +24 -24
  38. package/dist/store-mutation-protocol.d.mts +1 -1
  39. package/dist/{store-types-BghVB9Qj.d.mts → store-types-WFLdYbRL.d.mts} +1 -1
  40. package/dist/store-types.d.mts +4 -4
  41. package/dist/task-progress.d.mts +5 -5
  42. package/dist/{terminal-audio-BpfUW_eB.d.mts → terminal-audio-Bg8XXd3h.d.mts} +2 -2
  43. package/dist/terminal-audio.d.mts +2 -2
  44. package/dist/terminal-control.d.mts +2 -2
  45. package/dist/{terminal-invocation-CYibC-WC.d.mts → terminal-invocation-CLNVHNYw.d.mts} +22 -22
  46. package/dist/terminal-invocation.d.mts +1 -1
  47. package/dist/{translator-BdTMcSWN.d.mts → translator-BW01wfHG.d.mts} +58 -58
  48. package/dist/translator.d.mts +1 -1
  49. package/package.json +3 -2
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as isCliBatchStatusEntryFailure, C as CliStoreDoctorSchema, E as CliStoreSchema, M as requireCanonicalOpenSpecSpecId, N as requireOpenSpecEntityRelativePath, O as CliSchemasSuccessSchema, S as CliStoreDoctorEntrySchema, T as CliStoreMutationSchema, _ as specRoutePath, a as SpecDocumentProjectionSchema, b as CliDoctorSchema, c as createStaticSpecCatalogOwnedProjection, d as getSpecCatalogEntry, f as isReferencedSpecIdentity, g as specIdentityKey, h as specIdentityFromRoute, i as SpecCommandEvidenceSchema, j as requireCanonicalOpenSpecEntityId, k as isCliSchemasFailure, l as createStaticSpecCatalogReferenceProjection, m as specDocumentDisplayPath, n as ReferencedSpecIdentitySchema, o as SpecIdentitySchema, p as mergeSpecCatalog, r as SpecCatalogSchema, s as buildSpecCatalog, t as OwnedSpecIdentitySchema, u as createStaticSpecCatalogReferenceSource, v as OpenSpecCliContractExecutor, w as CliStoreListSchema, x as CliStoreCleanupSchema, y as CliContextSchema } from "./spec-catalog-B8TIBzwP.mjs";
1
+ import { A as isCliBatchStatusEntryFailure, C as CliStoreDoctorSchema, E as CliStoreSchema, M as requireCanonicalOpenSpecSpecId, N as requireOpenSpecEntityRelativePath, O as CliSchemasSuccessSchema, S as CliStoreDoctorEntrySchema, T as CliStoreMutationSchema, _ as specRoutePath, a as SpecDocumentProjectionSchema, b as CliDoctorSchema, c as createStaticSpecCatalogOwnedProjection, d as getSpecCatalogEntry, f as isReferencedSpecIdentity, g as specIdentityKey, h as specIdentityFromRoute, i as SpecCommandEvidenceSchema, j as requireCanonicalOpenSpecEntityId, k as isCliSchemasFailure, l as createStaticSpecCatalogReferenceProjection, m as specDocumentDisplayPath, n as ReferencedSpecIdentitySchema, o as SpecIdentitySchema, p as mergeSpecCatalog, r as SpecCatalogSchema, s as buildSpecCatalog, t as OwnedSpecIdentitySchema, u as createStaticSpecCatalogReferenceSource, v as OpenSpecCliContractExecutor, w as CliStoreListSchema, x as CliStoreCleanupSchema, y as CliContextSchema } from "./spec-catalog-Ce-UQqxo.mjs";
2
2
  import { _ as isTextLikeMime, a as DeltaSpecSchema, c as ScenarioStepSchema, d as TrackedTaskProgressSchema, f as FILE_PREVIEW_KINDS, g as isTextLikeFile, h as isPreviewableFile, i as DeltaSchema, l as SpecSchema, m as inferFilePreviewKind, n as ChangeSchema, o as RequirementSchema, p as inferFileMime, r as DeltaOperationType, s as ScenarioStepKeywordSchema, t as ChangeFileSchema, u as TaskSchema } from "./schemas-CMThmKx1.mjs";
3
3
  import { a as normalizeOpsxEntityPath, c as parseOpsxEntityMetadata, i as isOpsxGlobPattern, n as getOpsxEntityMetadataPath, o as opsxGlobToRegex, r as getOpsxEntityRootRelativePath, s as opsxPathMatchesPattern, t as buildOpsxEntityDetail } from "./opsx-entity-BnO3k48r.mjs";
4
4
  import { t as parseOpsxSchemaDetail } from "./opsx-schema-detail-zk8ePaKK.mjs";
@@ -8,7 +8,7 @@ import { a as getOpenSpecAnnotationsForFact, i as getOpenSpecAnnotation, n as an
8
8
  import { a as getOpenSpecReadingSections, c as projectOpenSpecMarkdown, i as getOpenSpecProjectionAnnotation, n as OPEN_SPEC_SPEC_PROJECTION_ID, o as parseOpenSpecMarkdownToSpec, r as createOpenSpecReadingPlugin, s as projectAnnotatedOpenSpecToSpec, t as OPEN_SPEC_READING_SECTIONS_PROJECTION_ID } from "./openspec-projection-Cno7FlwE.mjs";
9
9
  import { a as isMarkdownTaskSourcePath, c as toggleMarkdownTask, i as deriveTrackedTaskPhase, n as createDocumentChecklistSummary, o as parseMarkdownTasks, r as createTrackedTaskProgress, s as projectTaskProjectionsFromMarkdownFiles, t as createApplyInstructionProgress } from "./task-progress-moL-QUhJ.mjs";
10
10
  import { a as CliRootSchema, i as CliReferenceIndexEntrySchema, n as CliDiagnosticSchema, o as CliRootSourceSchema, r as CliDoctorReferenceEntrySchema, t as CliDiagnosticFailureSchema } from "./common-BRL_34xt.mjs";
11
- import { A as CliWorkflowStatusSuccessSchema, D as CliValidateSchema, E as CliValidateReportSchema, T as CliValidateFindingsSchema, a as CliApplyInstructionsSuccessSchema, b as CliSpecListSchema, c as CliArchiveSchema, f as CliChangeListSchema, i as CliApplyInstructionsSchema, j as isCliValidateFindings, k as CliWorkflowStatusSchema, l as CliArtifactInstructionsSchema, n as parseCliCommandResult, o as CliArchiveInstructionsSchema, p as CliChangeListWarningSchema, s as CliArchiveInstructionsSuccessSchema, t as CliCommandTransportSchema, u as CliArtifactInstructionsSuccessSchema, v as CliShowSpecDocumentSchema, w as CliValidateFindingsResultSchema, y as CliShowSpecSchema } from "./command-result-DfCY18TD.mjs";
11
+ import { A as CliWorkflowStatusSchema, D as CliValidateSchema, E as CliValidateReportSchema, M as isCliValidateFindings, T as CliValidateFindingsSchema, a as CliApplyInstructionsSuccessSchema, b as CliSpecListSchema, c as CliArchiveSchema, f as CliChangeListSchema, i as CliApplyInstructionsSchema, j as CliWorkflowStatusSuccessSchema, l as CliArtifactInstructionsSchema, n as parseCliCommandResult, o as CliArchiveInstructionsSchema, p as CliChangeListWarningSchema, s as CliArchiveInstructionsSuccessSchema, t as CliCommandTransportSchema, u as CliArtifactInstructionsSuccessSchema, v as CliShowSpecDocumentSchema, w as CliValidateFindingsResultSchema, y as CliShowSpecSchema } from "./command-result-BBsaUYw2.mjs";
12
12
  import { a as CliProjectionInvalidationCauseSchema, d as toCliProjectionCommandEvidence, f as toCliProjectionFailure, i as CliProjectionFailureSchema, l as cliProjectionStates, n as CliProjectionCommandError, o as CliProjectionNoticeSchema, p as toCliProjectionNotice, r as CliProjectionCommandEvidenceSchema, s as CliProjectionStateNameSchema, t as CliJsonValueSchema, u as createCliProjectionStateSchema } from "./cli-projection-Bc2WVwGj.mjs";
13
13
  import { $ as shouldShowTranslationEngineInstallGate, A as TranslationEngineIdSchema, B as TranslationLocalLlamaSettingsUpdateSchema, C as TranslationDownloadGroupPlanSchema, D as TranslationEngineDependencyStatusSchema, E as TranslationEngineDependencyStateSchema, F as TranslationEngineRuntimeStateSchema, G as createTranslationEngineLifecycleStatus, H as TranslationLocalSettingsUpdateSchema, I as TranslationEngineRuntimeStatusSchema, J as getTranslationEngineManifest, K as getManagedLocalTranslationEngineManifest, L as TranslationLocalCt2SettingsSchema, M as TranslationEngineInstallLogStreamSchema, N as TranslationEngineLifecycleEventSchema, O as TranslationEngineGlobalSettingsSchema, P as TranslationEngineLifecycleStatusSchema, Q as isTranslationEngineRuntimeReady, R as TranslationLocalCt2SettingsUpdateSchema, S as TranslationDownloadFilePlanSchema, T as TranslationEngineAssetStatusSchema, U as TranslationOpenAISettingsSchema, V as TranslationLocalSettingsSchema, W as TranslationOpenAISettingsUpdateSchema, X as isManagedLocalTranslationEngineId, Y as isDirectionalManagedLocalTranslationEngineId, Z as isTranslationEngineDependencyReady, _ as SERVICE_TRANSLATION_ENGINE_IDS, a as LocalModelAssetLogSchema, b as TRANSLATION_ENGINE_MANIFESTS, c as LocalModelDownloadStatusSchema, d as LocalModelProfileLoadStateSchema, et as isBatchTranslationAbort, f as LocalModelProfileManifestFileSchema, g as ManagedLocalCatalogSourceSchema, h as LocalModelProfileStatusSchema, i as DEFAULT_TRANSLATION_ENGINE_ID, j as TranslationEngineInstallLogEventSchema, k as TranslationEngineGlobalSettingsUpdateSchema, l as LocalModelLifecycleFileStateSchema, m as LocalModelProfileManifestSchema, n as BatchTranslateInputSchema, nt as runControlledTranslationTask, o as LocalModelAssetPlanSnapshotSchema, p as LocalModelProfileManifestGroupSchema, q as getTranslationEngineLifecycleMessage, s as LocalModelAssetStateSchema, t as BatchTranslateEventSchema, tt as normalizeBatchTranslationError, u as LocalModelLifecycleGroupStateSchema, v as ServiceTranslationEngineIdSchema, w as TranslationEngineAssetStateSchema, x as TRANSLATOR_CONTRACT_VERSION, y as TRANSLATION_ENGINE_IDS, z as TranslationLocalLlamaSettingsSchema } from "./translator-BkNACZ9R.mjs";
14
14
  import { a as ActiveRootOfficialConfigSchema, c as MAX_ACTIVE_ROOT_CONTEXT_BYTES, i as ActiveRootMutationSchema, n as patchActiveRootOfficialFields, o as ActiveRootRevisionSchema, r as validateActiveRootRawYaml, s as ActiveRootStructuredUpdateSchema, t as inspectActiveRootOfficialConfig } from "./active-root-config-K_wVeuI3.mjs";
@@ -16,12 +16,12 @@ import { a as DocumentTranslationDisplayModeSchema, c as TRANSLATION_CACHE_POLIC
16
16
  import { _ as customHashFromSoundId, a as CustomSoundHashSchema, b as soundIdFromCustomHash, c as CustomSoundMetadataSchema, f as LEGACY_SOUND_ID_MAP, g as SoundVolumeSchema, h as SoundIdSchema, i as CUSTOM_SOUND_ADD_VALUE, l as DEFAULT_BELL_SOUND_ID, m as SoundConfigIdSchema, n as BUILTIN_SOUND_OPTIONS, o as CustomSoundIdSchema, p as SILENT_SOUND_ID, r as BuiltinSoundIdSchema, s as CustomSoundMetadataFileSchema, t as BUILTIN_SOUND_IDS, u as DEFAULT_NOTIFICATION_SOUND_ID, v as getBuiltinSoundUrl, y as normalizeLegacySoundId } from "./sounds-cd9lIDxN.mjs";
17
17
  import { n as terminalNotificationEventToPublishInput, t as TerminalControlParser } from "./terminal-control-D893EEN_.mjs";
18
18
  import { a as NotificationPublishInputSchema, c as NotificationSoundSchema, h as groupNotifications, i as NotificationGroupKeySchema, l as NotificationSourceSchema, m as getNotificationGroupLabel, n as NOTIFICATION_SOUND_VALUES, o as NotificationRecordSchema, p as getNotificationGroupKey, r as NotificationActionSchema, s as NotificationSettingsSchema, t as NOTIFICATION_SOUND_OPTIONS, u as TerminalNotificationParser } from "./notifications-D6XlgL9b.mjs";
19
- import { h as parseOpenSpecCliVersion, p as deriveOpenSpecCliCapabilities, u as OPENSPEC_CLI_TARGET_SERIES } from "./openspec-compat-CNMMuTot.mjs";
19
+ import { h as parseOpenSpecCliVersion, p as deriveOpenSpecCliCapabilities, u as OPENSPEC_CLI_TARGET_SERIES } from "./openspec-compat-B1OCT-hK.mjs";
20
20
  import { n as TERMINAL_BELL_SOUND_VALUES, r as TerminalBellSoundSchema, t as TERMINAL_BELL_SOUND_OPTIONS } from "./terminal-audio-CLEDFFpW.mjs";
21
21
  import { a as TERMINAL_THEME_VALUES, i as TERMINAL_THEME_MODE_VALUES, n as DEFAULT_TERMINAL_LIGHT_THEME, r as DEFAULT_TERMINAL_THEME_MODE, t as DEFAULT_TERMINAL_DARK_THEME } from "./terminal-theme-Bse1UdaX.mjs";
22
22
  import { i as selectLocalDownloadGroup, n as buildLocalDownloadPlanFromRepositoryFiles, r as buildLocalDownloadPlanFromRuntimeProfileFiles, t as LOCAL_MODEL_PROFILE_DEFINITIONS } from "./local-download-profiles-3I8AOUJj.mjs";
23
23
  import { n as inferLocalDirectionalModelLanguagePair, t as checkLocalDirectionalModelLanguagePair } from "./translation-language-pair-BTfLQehX.mjs";
24
- import { C as SchemaInfoSchema, D as TemplatesSchema, E as TemplateContentSchema, O as isGlobPattern, S as SchemaDetailSchema, T as TemplateContentMapSchema, _ as DependencyInfoSchema, a as PlanningCliProjectionDataSchema, b as OpsxStatusEvidenceSchema, c as deriveCliChangeListFacts, d as ApplyInstructionsSchema, f as ApplyTaskSchema, g as ChangeStatusSchema, h as ArtifactStatusSchema, i as EnvironmentGlobalProjectionStateSchema, l as ApplyInstructionsContextFilesSchema, m as ArtifactInstructionsSchema, n as EnvironmentGlobalFileProjectionStateSchema, o as PlanningCliProjectionSelectorSchema, p as ArchiveInstructionsSchema, r as EnvironmentGlobalProjectionDataSchema, s as PlanningCliProjectionStateSchema, t as EnvironmentGlobalFileProjectionDataSchema, u as ApplyInstructionsProjectionSchema, v as OpsxCliEvidenceSchema, w as SchemaResolutionSchema, x as SchemaArtifactSchema, y as OpsxConfigBundleSchema } from "./planning-cli-projection-C4eG7-Yr.mjs";
24
+ import { C as SchemaInfoSchema, D as TemplatesSchema, E as TemplateContentSchema, O as isGlobPattern, S as SchemaDetailSchema, T as TemplateContentMapSchema, _ as DependencyInfoSchema, a as PlanningCliProjectionDataSchema, b as OpsxStatusEvidenceSchema, c as deriveCliChangeListFacts, d as ApplyInstructionsSchema, f as ApplyTaskSchema, g as ChangeStatusSchema, h as ArtifactStatusSchema, i as EnvironmentGlobalProjectionStateSchema, l as ApplyInstructionsContextFilesSchema, m as ArtifactInstructionsSchema, n as EnvironmentGlobalFileProjectionStateSchema, o as PlanningCliProjectionSelectorSchema, p as ArchiveInstructionsSchema, r as EnvironmentGlobalProjectionDataSchema, s as PlanningCliProjectionStateSchema, t as EnvironmentGlobalFileProjectionDataSchema, u as ApplyInstructionsProjectionSchema, v as OpsxCliEvidenceSchema, w as SchemaResolutionSchema, x as SchemaArtifactSchema, y as OpsxConfigBundleSchema } from "./planning-cli-projection-DJ9Llzan.mjs";
25
25
  import { a as OPSX_CORE_PROFILE_WORKFLOWS, c as OPSX_WORKFLOW_TO_SKILL_DIR, i as OPSX_COMMAND_CAPABLE_WORKFLOWS, l as isOpsxCoreWorkflowSelection, n as OPSX_ARTIFACT_INPUT_ACTIONS, o as OPSX_TEXT_INPUT_ACTIONS, r as OPSX_CHANGE_INPUT_ACTIONS, s as OPSX_WORKFLOW_LABELS, t as OPSX_ALL_WORKFLOWS } from "./opsx-workflows-BA-46T7_.mjs";
26
26
  import { a as DASHBOARD_METRIC_KEYS, c as DashboardSummaryProjectionSchema, i as DashboardSummaryProjectionStateSchema, l as DashboardTrendsProjectionSchema, n as DashboardSummaryInvalidationCauseSchema, o as DashboardGitSnapshotSchema, r as DashboardSummaryInvalidationSchema, s as DashboardOverviewSchema, t as DashboardSummaryIdentitySchema } from "./dashboard-summary-transport-Do8pzSES.mjs";
27
27
  import { a as StoreListResultSchema, n as StoreDoctorResultSchema, o as classifyStoreCliResult, s as toStoreFeatureResult } from "./store-types-C87SlrJ3.mjs";
@@ -6297,22 +6297,31 @@ var RuntimeRootInvalidationRegistry = class {
6297
6297
  //#endregion
6298
6298
  //#region src/agent-delivery-registry.ts
6299
6299
  /**
6300
- * Orthogonal intents (updated 2026-09-12 Asia/Shanghai):
6301
- * 1. Preserve the complete pinned OpenSpec 1.13 Agent delivery registry in one typed physical owner.
6300
+ * Orthogonal intents (updated 2026-10-02 Asia/Shanghai):
6301
+ * 1. Preserve the complete pinned OpenSpec 1.14 Agent delivery registry in one typed physical owner.
6302
6302
  * 2. Co-locate capability, command artifact, invocation, alias, setup, cleanup, and migration metadata.
6303
6303
  * 3. Model current/legacy project roots, user-global skill roots, detection paths, and IDE restart facts.
6304
6304
  * 4. Keep the per-series override mechanism available for future widened windows while the
6305
- * admitted window is the single '1.13' line (every 1.12/1.11 physical fact carries forward).
6305
+ * admitted window is the single '1.14' line (every 1.13/1.12 physical fact carries forward).
6306
6306
  * 5. Declare the shared `.agents` skills-root owner candidate set and its arbitration order as
6307
6307
  * metadata only; physical arbitration stays owned by the official CLI and the Server projection.
6308
- * 6. Select the official inventory for the admitted CLI line ('1.13') only; retired minors
6309
- * ('1.10'/'1.11'/'1.12') stay typed as provenance history and select no inventory.
6308
+ * 6. Select the official inventory for the admitted CLI line ('1.14') only; retired minors
6309
+ * ('1.10'/'1.11'/'1.12'/'1.13') stay typed as provenance history and select no inventory.
6310
+ * 7. Carry Kilo Code's 1.13.2 command-path rotation as a physical fact: `.kilo/command/` is the
6311
+ * live delivery target, the former `.kilocode/workflows/opsx-{workflow}.md` path is legacy
6312
+ * evidence, and cleanup covers exactly the old folder's two generations — never `.kilo/command/`.
6310
6313
  *
6311
6314
  * Original request (2026-08-01): adapt the complete OpenSpec 1.7 Agent delivery protocol for OpenSpecUI 7.
6312
6315
  * Original request (2026-08-15): "v9的适配需要同时适配 1.8和1.9。"
6313
6316
  * Original request (2026-08-28): "直接将 0.10.0 和 0.11.0 一起适配,然后发布 v11。"
6314
6317
  * Original request (2026-09-03): "Openspec 1.12.0 刚刚放出来,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进"
6315
6318
  * Original request (2026-09-12): "Openspec 1.13.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。"
6319
+ * Original request (2026-09-26): Slice 3 of the 1.13.2 patch rotation — mirror upstream
6320
+ * kilocode adapter/legacy-cleanup facts (command path `.kilo/command/opsx-<id>.md`).
6321
+ * Original request (2026-10-02): "Openspec v1.14.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。完成后关于 github 上的相关 issue"
6322
+ * — Slice 3 rotates the series to '1.14' and lands the ten 1.14 entries (amp, atomcode,
6323
+ * codestudio, dsh, easycode, gigacode, grok, gsd, veai, warp); the Kilo directory rotation
6324
+ * already landed with the 1132 change and is not repeated here.
6316
6325
  */
6317
6326
  function agentCliSeriesOrder(series) {
6318
6327
  switch (series) {
@@ -6321,6 +6330,7 @@ function agentCliSeriesOrder(series) {
6321
6330
  case "1.11": return 11;
6322
6331
  case "1.12": return 12;
6323
6332
  case "1.13": return 13;
6333
+ case "1.14": return 14;
6324
6334
  }
6325
6335
  }
6326
6336
  /** Physical project root shared by Codex, Zed Agent, and the vendor-neutral skills target. */
@@ -6335,25 +6345,33 @@ const SHARED_SKILLS_TARGET_MARKER = ".openspec-target";
6335
6345
  * service — never by this registry — and follows: the `.openspec-target` marker, then
6336
6346
  * the owner inferred from generated invocation syntax, then `agents` when current skills
6337
6347
  * already exist, then the `codex` fallback. Antigravity joined the shared root in
6338
- * 1.11 (carried forward on 1.12/1.13) but is adapter-backed and is excluded from
6348
+ * 1.11 (carried forward on 1.12/1.13/1.14) but is adapter-backed and is excluded from
6339
6349
  * skills-writer candidacy; its own `.agents/workflows` commands root is unaffected
6340
- * by that exclusion.
6350
+ * by that exclusion. OpenSpec 1.14 adds two more shared-root readers: `amp`
6351
+ * (detection `.amp` / `.agents/skills`) and `gsd` (detection `.gsd`) both deliver
6352
+ * skills into `.agents` — the shared root now hosts codex, antigravity, amp, gsd,
6353
+ * zed, the vendor-neutral target, and since OpenSpec 1.14 the amp and gsd skills writers,
6354
+ * while upstream arbitration stays marker- and inference-driven across that whole group
6355
+ * (antigravity stays commands-only at the shared root and never joins the pool).
6341
6356
  */
6342
6357
  const SHARED_AGENTS_SKILLS_OWNER_CANDIDATES = [
6343
6358
  "codex",
6344
6359
  "zed",
6345
- "agents"
6360
+ "agents",
6361
+ "amp",
6362
+ "gsd"
6346
6363
  ];
6347
6364
  /**
6348
6365
  * Select the official Agent delivery inventory for one CLI version string.
6349
6366
  *
6350
- * Only a stable, admitted version — stable 1.13.x on this single-series line —
6351
- * selects an inventory. Unsupported forms (prereleases, >=1.14, below-range lines
6352
- * including the retired 1.10/1.11/1.12 v11/v12 windows and 1.8/1.9) and unparseable
6353
- * output select none: a page-level version bypass must not manufacture an admitted
6354
- * inventory for a CLI the release line refuses to admit. The returned snapshot
6355
- * carries the 1.13 physical reality (which inherits every 1.12/1.11 root fact;
6356
- * 1.13 adds no new Agent tool).
6367
+ * Only a stable, admitted version — stable 1.14.x on this single-series line —
6368
+ * selects an inventory. Unsupported forms (prereleases, >=1.15, below-range lines
6369
+ * including the retired 1.10/1.11/1.12/1.13 v11–v13 windows and 1.8/1.9) and
6370
+ * unparseable output select none: a page-level version bypass must not manufacture
6371
+ * an admitted inventory for a CLI the release line refuses to admit. The returned
6372
+ * snapshot carries the 1.14 physical reality (which inherits every 1.13/1.12 root
6373
+ * fact; 1.14 adds ten Agent tools — amp, atomcode, codestudio, dsh, easycode,
6374
+ * gigacode, grok, gsd, veai, warp).
6357
6375
  */
6358
6376
  function selectAgentDeliveryRegistry(cliVersion) {
6359
6377
  const series = parseOpenSpecCliSeries(cliVersion);
@@ -6375,16 +6393,16 @@ function selectAgentDeliveryRegistry(cliVersion) {
6375
6393
  *
6376
6394
  * Delegates to the single compat version parser so the same stdout that classifies a session
6377
6395
  * also selects its inventory — two parsers must never disagree at this boundary. Returns
6378
- * '1.13' only for stable 1.13.x, and null for every non-admitted form: prereleases,
6379
- * >=1.14, retired below-range lines (including the 1.12 v12 window, the 1.10/1.11 v11
6380
- * window, and 1.9.x), or unparseable output. Retired minors stay typed as
6381
- * `AgentProvenanceCliSeries` history for registry facts and on-disk stamps; they never
6382
- * select an inventory here.
6396
+ * '1.14' only for stable 1.14.x, and null for every non-admitted form: prereleases,
6397
+ * >=1.15, retired below-range lines (including the 1.13 v13 window, the 1.12 v12
6398
+ * window, the 1.10/1.11 v11 window, and 1.9.x), or unparseable output. Retired minors
6399
+ * stay typed as `AgentProvenanceCliSeries` history for registry facts and on-disk
6400
+ * stamps; they never select an inventory here.
6383
6401
  */
6384
6402
  function parseOpenSpecCliSeries(cliVersion) {
6385
6403
  const version = parseOpenSpecCliVersion(cliVersion ?? void 0);
6386
6404
  if (!version || version.prerelease !== null) return null;
6387
- if (version.major === 1 && version.minor === 13) return "1.13";
6405
+ if (version.major === 1 && version.minor === 14) return "1.14";
6388
6406
  return null;
6389
6407
  }
6390
6408
  const CODEX_MANAGED_PROMPTS = {
@@ -6442,9 +6460,10 @@ const projectCleanup = (...patterns) => ({
6442
6460
  patterns
6443
6461
  });
6444
6462
  /**
6445
- * Complete OpenSpec 1.13 Agent delivery registry in official order (the newest admitted
6446
- * line; 1.13 adds no new Agent tool, so the 1.12 physical inventory carries forward
6447
- * unchanged, itself inheriting every 1.11 root fact).
6463
+ * Complete OpenSpec 1.14 Agent delivery registry in official order (the newest admitted
6464
+ * line). 1.14 adds ten Agent tools — amp, atomcode, codestudio, dsh, easycode, gigacode,
6465
+ * grok, gsd, veai, warp — and rebrands Bob Shell to IBM Bob; every 1.13/1.12/1.11
6466
+ * physical fact (including Kilo's `.kilo/command/` rotation) carries forward unchanged.
6448
6467
  */
6449
6468
  const AGENT_DELIVERY_REGISTRY = [
6450
6469
  {
@@ -6459,6 +6478,17 @@ const AGENT_DELIVERY_REGISTRY = [
6459
6478
  command: command(".amazonq/prompts/opsx-{workflow}.md", yamlMarkdown("description"), { invocationPrefix: "@" }),
6460
6479
  cleanup: projectCleanup(".amazonq/prompts/openspec-*.md")
6461
6480
  },
6481
+ {
6482
+ name: "Amp",
6483
+ value: "amp",
6484
+ minCliSeries: "1.14",
6485
+ available: true,
6486
+ successLabel: "Amp",
6487
+ skillsDir: ".agents",
6488
+ detectionPaths: [".amp", ".agents/skills"],
6489
+ capability: "none",
6490
+ command: null
6491
+ },
6462
6492
  {
6463
6493
  name: "Antigravity",
6464
6494
  value: "antigravity",
@@ -6479,6 +6509,16 @@ const AGENT_DELIVERY_REGISTRY = [
6479
6509
  timing: "after-generation"
6480
6510
  }]
6481
6511
  },
6512
+ {
6513
+ name: "AtomCode",
6514
+ value: "atomcode",
6515
+ minCliSeries: "1.14",
6516
+ available: true,
6517
+ successLabel: "AtomCode",
6518
+ skillsDir: ".atomcode",
6519
+ capability: "adapter-backed",
6520
+ command: command(".atomcode/commands/opsx-{workflow}.md", yamlMarkdown("name", "description", "args"))
6521
+ },
6482
6522
  {
6483
6523
  name: "Auggie (Augment CLI)",
6484
6524
  value: "auggie",
@@ -6490,10 +6530,10 @@ const AGENT_DELIVERY_REGISTRY = [
6490
6530
  cleanup: projectCleanup(".augment/commands/openspec-*.md")
6491
6531
  },
6492
6532
  {
6493
- name: "Bob Shell",
6533
+ name: "IBM Bob",
6494
6534
  value: "bob",
6495
6535
  available: true,
6496
- successLabel: "Bob Shell",
6536
+ successLabel: "IBM Bob",
6497
6537
  skillsDir: ".bob",
6498
6538
  capability: "adapter-backed",
6499
6539
  command: command(".bob/commands/opsx-{workflow}.md", yamlMarkdown("description", "argument-hint"))
@@ -6562,6 +6602,16 @@ const AGENT_DELIVERY_REGISTRY = [
6562
6602
  timing: "after-generation"
6563
6603
  }]
6564
6604
  },
6605
+ {
6606
+ name: "DeepSeek Harness",
6607
+ value: "dsh",
6608
+ minCliSeries: "1.14",
6609
+ available: true,
6610
+ successLabel: "DeepSeek Harness",
6611
+ skillsDir: ".dsh",
6612
+ capability: "none",
6613
+ command: null
6614
+ },
6565
6615
  {
6566
6616
  name: "Devin Desktop (formerly Windsurf)",
6567
6617
  value: "devin",
@@ -6600,6 +6650,18 @@ const AGENT_DELIVERY_REGISTRY = [
6600
6650
  command: command(".codebuddy/commands/opsx/{workflow}.md", yamlMarkdown("name", "description", "argument-hint")),
6601
6651
  cleanup: projectCleanup(".codebuddy/commands/openspec")
6602
6652
  },
6653
+ {
6654
+ name: "Code Studio",
6655
+ value: "codestudio",
6656
+ minCliSeries: "1.14",
6657
+ available: true,
6658
+ successLabel: "Code Studio",
6659
+ skillsDir: ".codestudio",
6660
+ requiresIdeRestart: true,
6661
+ requiresIdeRestartSince: "1.14",
6662
+ capability: "adapter-backed",
6663
+ command: command(".codestudio/prompts/opsx-{workflow}.prompt.md", yamlMarkdown("description"))
6664
+ },
6603
6665
  {
6604
6666
  name: "Continue",
6605
6667
  value: "continue",
@@ -6646,6 +6708,16 @@ const AGENT_DELIVERY_REGISTRY = [
6646
6708
  command: command(".cursor/commands/opsx-{workflow}.md", yamlMarkdown("name", "id", "category", "description")),
6647
6709
  cleanup: projectCleanup(".cursor/commands/openspec-*.md")
6648
6710
  },
6711
+ {
6712
+ name: "EasyCode",
6713
+ value: "easycode",
6714
+ minCliSeries: "1.14",
6715
+ available: true,
6716
+ successLabel: "EasyCode",
6717
+ skillsDir: ".easycode",
6718
+ capability: "adapter-backed",
6719
+ command: command(".easycode/commands/opsx/{workflow}.toml", tomlCommand)
6720
+ },
6649
6721
  {
6650
6722
  name: "Factory Droid",
6651
6723
  value: "factory",
@@ -6666,6 +6738,16 @@ const AGENT_DELIVERY_REGISTRY = [
6666
6738
  command: command(".gemini/commands/opsx/{workflow}.toml", tomlCommand),
6667
6739
  cleanup: projectCleanup(".gemini/commands/openspec")
6668
6740
  },
6741
+ {
6742
+ name: "GigaCode",
6743
+ value: "gigacode",
6744
+ minCliSeries: "1.14",
6745
+ available: true,
6746
+ successLabel: "GigaCode",
6747
+ skillsDir: ".gigacode",
6748
+ capability: "adapter-backed",
6749
+ command: command(".gigacode/commands/opsx-{workflow}.md", yamlMarkdown("description"))
6750
+ },
6669
6751
  {
6670
6752
  name: "GitHub Copilot",
6671
6753
  value: "github-copilot",
@@ -6687,6 +6769,27 @@ const AGENT_DELIVERY_REGISTRY = [
6687
6769
  command: command(".github/prompts/opsx-{workflow}.prompt.md", yamlMarkdown("description")),
6688
6770
  cleanup: projectCleanup(".github/prompts/openspec-*.prompt.md")
6689
6771
  },
6772
+ {
6773
+ name: "Grok Build",
6774
+ value: "grok",
6775
+ minCliSeries: "1.14",
6776
+ available: true,
6777
+ successLabel: "Grok Build",
6778
+ skillsDir: ".grok",
6779
+ capability: "none",
6780
+ command: null
6781
+ },
6782
+ {
6783
+ name: "GSD",
6784
+ value: "gsd",
6785
+ minCliSeries: "1.14",
6786
+ available: true,
6787
+ successLabel: "GSD",
6788
+ skillsDir: ".agents",
6789
+ detectionPaths: [".gsd"],
6790
+ capability: "skills-invocable",
6791
+ command: null
6792
+ },
6690
6793
  {
6691
6794
  name: "Hermes Agent",
6692
6795
  value: "hermes",
@@ -6733,8 +6836,8 @@ const AGENT_DELIVERY_REGISTRY = [
6733
6836
  requiresIdeRestart: true,
6734
6837
  requiresIdeRestartSince: "1.9",
6735
6838
  capability: "adapter-backed",
6736
- command: command(".kilocode/workflows/opsx-{workflow}.md", plainMarkdown),
6737
- cleanup: projectCleanup(".kilocode/workflows/openspec-*.md")
6839
+ command: command(".kilo/command/opsx-{workflow}.md", plainMarkdown, { legacyPathTemplates: [".kilocode/workflows/opsx-{workflow}.md"] }),
6840
+ cleanup: projectCleanup(".kilocode/workflows/opsx-*.md", ".kilocode/workflows/openspec-*.md")
6738
6841
  },
6739
6842
  {
6740
6843
  name: "Kimi Code",
@@ -6887,6 +6990,27 @@ const AGENT_DELIVERY_REGISTRY = [
6887
6990
  capability: "adapter-backed",
6888
6991
  command: command(".trae/commands/opsx-{workflow}.md", yamlMarkdown("name", "description"))
6889
6992
  },
6993
+ {
6994
+ name: "Veai",
6995
+ value: "veai",
6996
+ minCliSeries: "1.14",
6997
+ available: true,
6998
+ successLabel: "Veai",
6999
+ skillsDir: ".veai",
7000
+ capability: "none",
7001
+ command: null
7002
+ },
7003
+ {
7004
+ name: "Warp",
7005
+ value: "warp",
7006
+ minCliSeries: "1.14",
7007
+ available: true,
7008
+ successLabel: "Warp",
7009
+ skillsDir: ".warp",
7010
+ detectionPaths: [".warp", "WARP.md"],
7011
+ capability: "skills-invocable",
7012
+ command: null
7013
+ },
6890
7014
  {
6891
7015
  name: "Zed Agent",
6892
7016
  value: "zed",
@@ -7048,24 +7172,25 @@ async function loadOpenSpecAgentCommandContents(cliCommand, workflows) {
7048
7172
  //#endregion
7049
7173
  //#region src/tool-init-state.ts
7050
7174
  /**
7051
- * Orthogonal intents (updated 2026-09-12 Asia/Shanghai):
7052
- * 1. Project the unified OpenSpec 1.13 Agent registry into exact skill and command artifact state.
7175
+ * Orthogonal intents (updated 2026-10-02 Asia/Shanghai):
7176
+ * 1. Project the unified OpenSpec 1.14 Agent registry into exact skill and command artifact state.
7053
7177
  * 2. Report partial, stale-version, cleanup-needed, migration-required, and unavailable states from physical evidence.
7054
7178
  * 3. Observe user-global skill roots (e.g. MiniMax Code) without ever cleaning or migrating them here.
7055
7179
  * 4. Preserve bounded reactive directory observation and fresh one-shot cache invalidation.
7056
7180
  * 5. Expose Codex managed-global-prompt observation without treating those prompts as current commands.
7057
- * 6. Judge generated-by staleness series-aware: only the admitted line (stable 1.13.x) is
7058
- * current; below-admitted generators (1.12.x, 1.11.x, 1.10.x, and older) and unparseable
7059
- * stamps are stale.
7181
+ * 6. Judge generated-by staleness series-aware: only the admitted line (stable 1.14.x) is
7182
+ * current; below-admitted generators (1.13.x, 1.12.x, 1.11.x, 1.10.x, and older) and
7183
+ * unparseable stamps are stale.
7060
7184
  *
7061
7185
  * Original request (2026-08-01): adapt the complete OpenSpec 1.7 Agent delivery protocol for OpenSpecUI 7.
7062
7186
  * Original request (2026-08-15): "v9的适配需要同时适配 1.8和1.9。"
7063
7187
  * Original request (2026-08-28): "直接将 0.10.0 和 0.11.0 一起适配,然后发布 v11。"
7064
7188
  * Original request (2026-09-03): "Openspec 1.12.0 刚刚放出来,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进"
7065
7189
  * Original request (2026-09-12): "Openspec 1.13.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。"
7190
+ * Original request (2026-10-02): "Openspec v1.14.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。完成后关于 github 上的相关 issue"
7066
7191
  */
7067
7192
  /** Pinned source version used when a runtime CLI version is not supplied by the Server owner. */
7068
- const PINNED_AGENT_GENERATOR_VERSION = "1.13.0";
7193
+ const PINNED_AGENT_GENERATOR_VERSION = "1.14.0";
7069
7194
  /** Resolve the physical skills inventory scope for one registry entry. */
7070
7195
  function resolveToolSkillsScope(tool) {
7071
7196
  if (tool.globalSkillsDir) return {
@@ -7231,9 +7356,9 @@ async function areExpectedCommandContentsCurrent(toolId, entries, existingPaths,
7231
7356
  /**
7232
7357
  * Series-aware generator currency.
7233
7358
  *
7234
- * Artifacts whose `generatedBy` stamp names the admitted line (stable 1.13.x) are
7235
- * current; every below-admitted generator (the retired 1.10.x/1.11.x/1.12.x windows
7236
- * and older) plus unparseable or future stamps is stale. The pinned constant never
7359
+ * Artifacts whose `generatedBy` stamp names the admitted line (stable 1.14.x) are
7360
+ * current; every below-admitted generator (the retired 1.10.x/1.11.x/1.12.x/1.13.x
7361
+ * windows and older) plus unparseable or future stamps is stale. The pinned constant never
7237
7362
  * feeds this comparison — it is fallback display only and never fabricates a
7238
7363
  * live version.
7239
7364
  */
@@ -7304,7 +7429,7 @@ async function collectCleanup(projectDir, tool, projectRootEntries) {
7304
7429
  kind: projectCleanup$1.paths.length > 0 && globalCleanup ? "mixed" : globalCleanup ? "managed-global-prompts" : "project-artifacts",
7305
7430
  paths,
7306
7431
  workflows,
7307
- replacementLabel: globalCleanup?.replacementLabel ?? "OpenSpec 1.13 Agent delivery"
7432
+ replacementLabel: globalCleanup?.replacementLabel ?? "OpenSpec 1.14 Agent delivery"
7308
7433
  };
7309
7434
  }
7310
7435
  async function collectMigrationEvidence(projectDir, tool, projectRootEntries) {
@@ -7769,7 +7894,7 @@ async function mapCliProjectionSeries(inputs, project) {
7769
7894
  //#endregion
7770
7895
  //#region src/opsx-kernel.ts
7771
7896
  /**
7772
- * Orthogonal intents (updated 2026-09-03 Asia/Shanghai):
7897
+ * Orthogonal intents (updated 2026-10-02 Asia/Shanghai):
7773
7898
  * 1. Maintain reactive CLI-backed projections and their direct typed Projection Work readers.
7774
7899
  * 2. Share and release per-entity streams through one planning-root kernel lifecycle.
7775
7900
  * 3. Keep OpenSpec configuration ownership outside the workflow cache while tracking both YAML filename variants.
@@ -7787,6 +7912,10 @@ async function mapCliProjectionSeries(inputs, project) {
7787
7912
  * `nested` are namespace folders and are excluded from `entries` and the compat `value`
7788
7913
  * at this boundary, the structural namespace-name set is derived once here, and the CLI's
7789
7914
  * top-level `warnings` ride through as display evidence (absent when the CLI omitted them).
7915
+ * 9. Copy the OpenSpec 1.14 top-level Status `warnings` advisory array through the shared
7916
+ * `projectWorkflowStatus` rebuild (single serial and batch transports): the member is
7917
+ * verbatim CLI evidence that decode-side `.passthrough()` retention alone would strip
7918
+ * at this explicit object rebuild; absent stays absent and it never gates planning facts.
7790
7919
  *
7791
7920
  * Original request (2026-07-15): "Planning-root adapters and services consume the CLI-resolved root."
7792
7921
  * Original request (2026-07-31): "系统性地进行修复,因为List页面也有类似的问题。所有可能其它页面都有类似的问题。"
@@ -7794,6 +7923,7 @@ async function mapCliProjectionSeries(inputs, project) {
7794
7923
  * Original request (2026-08-28): "直接将 0.10.0 和 0.11.0 一起适配,然后发布 v11。"
7795
7924
  * Original request (2026-09-03): "Openspec 1.12.0 刚刚放出来,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进"
7796
7925
  * Original request (2026-09-17): "Openspec 1.13.1 释放了…" — change-list nested/warnings projection (update-openspec-cli-1131 Slice 2).
7926
+ * Original request (2026-10-02): "Openspec v1.14.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。完成后关于 github 上的相关 issue" — Status warnings kernel copy (target-openspec-cli-114-line Slice 2).
7797
7927
  */
7798
7928
  function toRelativePath(root, absolutePath) {
7799
7929
  return relative(root, absolutePath).split(sep).join("/");
@@ -7955,6 +8085,7 @@ function projectWorkflowStatus(data, evidence) {
7955
8085
  isPlanningComplete: data.isPlanningComplete,
7956
8086
  applyRequires: data.applyRequires,
7957
8087
  artifacts: data.artifacts,
8088
+ ...data.warnings !== void 0 ? { warnings: data.warnings } : {},
7958
8089
  provenance: {
7959
8090
  kind: "cli",
7960
8091
  planningHome: data.planningHome,
@@ -1,4 +1,4 @@
1
- import { G as TranslationDownloadGroupPlan, Rt as TranslationModelDownloadPlan } from "./translator-BdTMcSWN.mjs";
1
+ import { G as TranslationDownloadGroupPlan, Rt as TranslationModelDownloadPlan } from "./translator-BW01wfHG.mjs";
2
2
 
3
3
  //#region src/local-download-profiles.d.ts
4
4
  declare const LOCAL_MODEL_PROFILE_DEFINITIONS: readonly [{
@@ -1,3 +1,3 @@
1
- import "./translator-BdTMcSWN.mjs";
2
- import { a as buildLocalDownloadPlanFromRepositoryFiles, i as LocalRuntimeProfileFiles, n as LocalModelProfileId, o as buildLocalDownloadPlanFromRuntimeProfileFiles, r as LocalRepositoryFile, s as selectLocalDownloadGroup, t as LOCAL_MODEL_PROFILE_DEFINITIONS } from "./local-download-profiles-CsKGe_qF.mjs";
1
+ import "./translator-BW01wfHG.mjs";
2
+ import { a as buildLocalDownloadPlanFromRepositoryFiles, i as LocalRuntimeProfileFiles, n as LocalModelProfileId, o as buildLocalDownloadPlanFromRuntimeProfileFiles, r as LocalRepositoryFile, s as selectLocalDownloadGroup, t as LOCAL_MODEL_PROFILE_DEFINITIONS } from "./local-download-profiles-DWHZXsY_.mjs";
3
3
  export { LOCAL_MODEL_PROFILE_DEFINITIONS, LocalModelProfileId, LocalRepositoryFile, LocalRuntimeProfileFiles, buildLocalDownloadPlanFromRepositoryFiles, buildLocalDownloadPlanFromRuntimeProfileFiles, selectLocalDownloadGroup };
@@ -1,4 +1,4 @@
1
- import { x as SoundId } from "./sounds-B0GiWqBN.mjs";
1
+ import { x as SoundId } from "./sounds-DbXwtc44.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region src/terminal-control.d.ts
@@ -54,18 +54,18 @@ declare function terminalNotificationEventToPublishInput(input: {
54
54
  //#endregion
55
55
  //#region src/notifications.d.ts
56
56
  declare const NOTIFICATION_SOUND_VALUES: readonly ["silent", "soft", "clear", "pulse"];
57
- declare const NotificationSoundSchema: z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`, unknown>;
57
+ declare const NotificationSoundSchema: z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`, unknown>;
58
58
  type NotificationSound = SoundId;
59
59
  declare const NOTIFICATION_SOUND_OPTIONS: readonly {
60
60
  id: NotificationSound;
61
61
  label: string;
62
62
  }[];
63
63
  declare const NotificationSettingsSchema: z.ZodObject<{
64
- sound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`, unknown>>;
64
+ sound: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodLiteral<"silent">, z.ZodEnum<["builtin:Basso", "builtin:Blow", "builtin:Bottle", "builtin:Frog", "builtin:Funk", "builtin:Glass", "builtin:Hero", "builtin:Morse", "builtin:Ping", "builtin:Pop", "builtin:Purr", "builtin:Sosumi", "builtin:Submarine", "builtin:Tink"]>, z.ZodType<`custom:${string}`, z.ZodTypeDef, `custom:${string}`>]>, "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`, unknown>>;
65
65
  volume: z.ZodDefault<z.ZodNumber>;
66
66
  systemNotificationsEnabled: z.ZodDefault<z.ZodBoolean>;
67
67
  }, "strip", z.ZodTypeAny, {
68
- sound: "silent" | "builtin:Basso" | "builtin:Blow" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | "builtin:Tink" | `custom:${string}`;
68
+ sound: "silent" | "builtin:Tink" | "builtin:Blow" | "builtin:Basso" | "builtin:Bottle" | "builtin:Frog" | "builtin:Funk" | "builtin:Glass" | "builtin:Hero" | "builtin:Morse" | "builtin:Ping" | "builtin:Pop" | "builtin:Purr" | "builtin:Sosumi" | "builtin:Submarine" | `custom:${string}`;
69
69
  volume: number;
70
70
  systemNotificationsEnabled: boolean;
71
71
  }, {
@@ -341,6 +341,7 @@ declare const NotificationPublishInputSchema: z.ZodObject<{
341
341
  title?: string | undefined;
342
342
  };
343
343
  title: string;
344
+ createdAt?: number | undefined;
344
345
  body?: string | undefined;
345
346
  actions?: ({
346
347
  type: "terminal.focus";
@@ -356,7 +357,6 @@ declare const NotificationPublishInputSchema: z.ZodObject<{
356
357
  label?: string | undefined;
357
358
  })[] | undefined;
358
359
  level?: "error" | "success" | "warning" | "info" | undefined;
359
- createdAt?: number | undefined;
360
360
  }>;
361
361
  type NotificationPublishInput = z.infer<typeof NotificationPublishInputSchema>;
362
362
  declare const NotificationRecordSchema: z.ZodObject<{
@@ -488,6 +488,7 @@ declare const NotificationRecordSchema: z.ZodObject<{
488
488
  groupId: string;
489
489
  title?: string | undefined;
490
490
  };
491
+ createdAt: number;
491
492
  title: string;
492
493
  body: string;
493
494
  actions: ({
@@ -504,7 +505,6 @@ declare const NotificationRecordSchema: z.ZodObject<{
504
505
  label: string;
505
506
  })[];
506
507
  level: "error" | "success" | "warning" | "info";
507
- createdAt: number;
508
508
  groupKey: string;
509
509
  }, {
510
510
  id: string;
@@ -527,8 +527,8 @@ declare const NotificationRecordSchema: z.ZodObject<{
527
527
  groupId: string;
528
528
  title?: string | undefined;
529
529
  };
530
- title: string;
531
530
  createdAt: number;
531
+ title: string;
532
532
  groupKey: string;
533
533
  body?: string | undefined;
534
534
  actions?: ({
@@ -1,3 +1,3 @@
1
- import "./sounds-B0GiWqBN.mjs";
2
- import { C as getNotificationAggregateKey, E as groupNotifications, P as terminalNotificationEventToPublishInput, S as aggregateNotifications, T as getNotificationGroupLabel, _ as NotificationSource, a as NotificationAggregate, b as TerminalNotificationParseResult, c as NotificationGroupKeySchema, d as NotificationRecord, f as NotificationRecordSchema, g as NotificationSoundSchema, h as NotificationSound, i as NotificationActionSchema, k as TerminalControlParser, l as NotificationPublishInput, m as NotificationSettingsSchema, n as NOTIFICATION_SOUND_VALUES, o as NotificationGroup, p as NotificationSettings, r as NotificationAction, s as NotificationGroupKey, t as NOTIFICATION_SOUND_OPTIONS, u as NotificationPublishInputSchema, v as NotificationSourceSchema, w as getNotificationGroupKey, x as TerminalNotificationParser, y as TerminalNotificationEvent } from "./notifications-B8Ael_hq.mjs";
1
+ import "./sounds-DbXwtc44.mjs";
2
+ import { C as getNotificationAggregateKey, E as groupNotifications, P as terminalNotificationEventToPublishInput, S as aggregateNotifications, T as getNotificationGroupLabel, _ as NotificationSource, a as NotificationAggregate, b as TerminalNotificationParseResult, c as NotificationGroupKeySchema, d as NotificationRecord, f as NotificationRecordSchema, g as NotificationSoundSchema, h as NotificationSound, i as NotificationActionSchema, k as TerminalControlParser, l as NotificationPublishInput, m as NotificationSettingsSchema, n as NOTIFICATION_SOUND_VALUES, o as NotificationGroup, p as NotificationSettings, r as NotificationAction, s as NotificationGroupKey, t as NOTIFICATION_SOUND_OPTIONS, u as NotificationPublishInputSchema, v as NotificationSourceSchema, w as getNotificationGroupKey, x as TerminalNotificationParser, y as TerminalNotificationEvent } from "./notifications-BPz-EXzD.mjs";
3
3
  export { NOTIFICATION_SOUND_OPTIONS, NOTIFICATION_SOUND_VALUES, NotificationAction, NotificationActionSchema, NotificationAggregate, NotificationGroup, NotificationGroupKey, NotificationGroupKeySchema, NotificationPublishInput, NotificationPublishInputSchema, NotificationRecord, NotificationRecordSchema, NotificationSettings, NotificationSettingsSchema, NotificationSound, NotificationSoundSchema, NotificationSource, NotificationSourceSchema, TerminalControlParser, TerminalNotificationEvent, TerminalNotificationParseResult, TerminalNotificationParser, aggregateNotifications, getNotificationAggregateKey, getNotificationGroupKey, getNotificationGroupLabel, groupNotifications, terminalNotificationEventToPublishInput };
@@ -1,6 +1,6 @@
1
1
  //#region src/openspec-compat.ts
2
2
  /**
3
- * Orthogonal intents (updated 2026-09-12 Asia/Shanghai):
3
+ * Orthogonal intents (updated 2026-10-02 Asia/Shanghai):
4
4
  * 1. Encode the shipped OpenSpecUI release line's OpenSpec CLI compatibility law.
5
5
  * 2. Classify current, supported non-current, unsupported, and unknown CLI versions.
6
6
  * 3. Express the accepted range and the recommended line as separate public facts.
@@ -15,24 +15,25 @@
15
15
  * Original request (2026-08-28): "直接将 0.10.0 和 0.11.0 一起适配,然后发布 v11。"
16
16
  * Original request (2026-09-03): "Openspec 1.12.0 刚刚放出来,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进"
17
17
  * Original request (2026-09-12): "Openspec 1.13.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。"
18
+ * Original request (2026-10-02): "Openspec v1.14.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。完成后关于 github 上的相关 issue"
18
19
  */
19
- const OPENSPECUI_TARGET_MAJOR = 13;
20
- const OPENSPEC_CLI_TARGET_SERIES = "1.13";
21
- const OPENSPEC_CLI_SUPPORTED_SERIES = ["1.13"];
22
- const OPENSPEC_CLI_MIN_VERSION = "1.13.0";
23
- const OPENSPEC_CLI_TARGET_MIN_VERSION = "1.13.0";
24
- const OPENSPEC_CLI_RECOMMENDED_MIN_VERSION = "1.13.0";
25
- const OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION = "1.14.0";
26
- const OPENSPEC_CLI_ACCEPTED_RANGE = ">=1.13.0 <1.14.0";
27
- const OPENSPEC_CLI_RECOMMENDED_RANGE = ">=1.13.0 <1.14.0";
28
- const OPENSPEC_CLI_REFERENCE_TAG_PATTERN = "v1.13.*";
20
+ const OPENSPECUI_TARGET_MAJOR = 14;
21
+ const OPENSPEC_CLI_TARGET_SERIES = "1.14";
22
+ const OPENSPEC_CLI_SUPPORTED_SERIES = ["1.14"];
23
+ const OPENSPEC_CLI_MIN_VERSION = "1.14.0";
24
+ const OPENSPEC_CLI_TARGET_MIN_VERSION = "1.14.0";
25
+ const OPENSPEC_CLI_RECOMMENDED_MIN_VERSION = "1.14.0";
26
+ const OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION = "1.15.0";
27
+ const OPENSPEC_CLI_ACCEPTED_RANGE = ">=1.14.0 <1.15.0";
28
+ const OPENSPEC_CLI_RECOMMENDED_RANGE = ">=1.14.0 <1.15.0";
29
+ const OPENSPEC_CLI_REFERENCE_TAG_PATTERN = "v1.14.*";
29
30
  /**
30
31
  * Derive command capabilities from one parsed CLI version.
31
32
  *
32
33
  * Only an admitted version — stable inside the accepted range — can select version-specific
33
- * capabilities. Unsupported forms (prereleases, >=1.14, below-range) and unparseable output
34
+ * capabilities. Unsupported forms (prereleases, >=1.15, below-range) and unparseable output
34
35
  * keep their mismatch evidence and expose no capability, so a page-level version bypass can
35
- * never manufacture a 1.13 command surface for a CLI the release line does not admit.
36
+ * never manufacture a 1.14 command surface for a CLI the release line does not admit.
36
37
  */
37
38
  function deriveOpenSpecCliCapabilities(version) {
38
39
  if (!isAdmittedVersion(version)) return {
@@ -1,5 +1,5 @@
1
- import { A as OPENSPEC_CLI_ACCEPTED_RANGE, B as OpenSpecCliCompatibility, F as OPENSPEC_CLI_REFERENCE_TAG_PATTERN, G as deriveOpenSpecCliCapabilities, H as OpenSpecCliVersion, I as OPENSPEC_CLI_SUPPORTED_SERIES, K as formatOpenSpecCliVersion, L as OPENSPEC_CLI_TARGET_MIN_VERSION, M as OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION, N as OPENSPEC_CLI_RECOMMENDED_MIN_VERSION, P as OPENSPEC_CLI_RECOMMENDED_RANGE, R as OPENSPEC_CLI_TARGET_SERIES, St as isCliValidateFindings, U as classifyOpenSpecCliVersion, V as OpenSpecCliCompatibilityStatus, W as compareOpenSpecCliVersions, gt as CliValidateFindingsSchema, ht as CliValidateFindingsResultSchema, j as OPENSPEC_CLI_MIN_VERSION, k as OPENSPECUI_TARGET_MAJOR, q as parseOpenSpecCliVersion, vt as CliValidateReportSchema, wt as CliCommandTransportSchema, z as OpenSpecCliCapabilities } from "./index-DPsUTX4C.mjs";
1
+ import { A as OPENSPEC_CLI_ACCEPTED_RANGE, B as OpenSpecCliCompatibility, F as OPENSPEC_CLI_REFERENCE_TAG_PATTERN, G as deriveOpenSpecCliCapabilities, H as OpenSpecCliVersion, I as OPENSPEC_CLI_SUPPORTED_SERIES, K as formatOpenSpecCliVersion, L as OPENSPEC_CLI_TARGET_MIN_VERSION, M as OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION, N as OPENSPEC_CLI_RECOMMENDED_MIN_VERSION, P as OPENSPEC_CLI_RECOMMENDED_RANGE, R as OPENSPEC_CLI_TARGET_SERIES, St as isCliValidateFindings, U as classifyOpenSpecCliVersion, V as OpenSpecCliCompatibilityStatus, W as compareOpenSpecCliVersions, gt as CliValidateFindingsSchema, ht as CliValidateFindingsResultSchema, j as OPENSPEC_CLI_MIN_VERSION, k as OPENSPECUI_TARGET_MAJOR, q as parseOpenSpecCliVersion, vt as CliValidateReportSchema, wt as CliCommandTransportSchema, z as OpenSpecCliCapabilities } from "./index-D8GM018H.mjs";
2
2
  import "./document-translation-DzF7Og-j.mjs";
3
- import "./sounds-B0GiWqBN.mjs";
4
- import "./notifications-B8Ael_hq.mjs";
3
+ import "./sounds-DbXwtc44.mjs";
4
+ import "./notifications-BPz-EXzD.mjs";
5
5
  export { CliCommandTransportSchema, CliValidateFindingsResultSchema, CliValidateFindingsSchema, CliValidateReportSchema, OPENSPECUI_TARGET_MAJOR, OPENSPEC_CLI_ACCEPTED_RANGE, OPENSPEC_CLI_MIN_VERSION, OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION, OPENSPEC_CLI_RECOMMENDED_MIN_VERSION, OPENSPEC_CLI_RECOMMENDED_RANGE, OPENSPEC_CLI_REFERENCE_TAG_PATTERN, OPENSPEC_CLI_SUPPORTED_SERIES, OPENSPEC_CLI_TARGET_MIN_VERSION, OPENSPEC_CLI_TARGET_SERIES, OpenSpecCliCapabilities, OpenSpecCliCompatibility, OpenSpecCliCompatibilityStatus, OpenSpecCliVersion, classifyOpenSpecCliVersion, compareOpenSpecCliVersions, deriveOpenSpecCliCapabilities, formatOpenSpecCliVersion, isCliValidateFindings, parseOpenSpecCliVersion };
@@ -1,5 +1,5 @@
1
1
  import "./common-BRL_34xt.mjs";
2
- import { E as CliValidateReportSchema, T as CliValidateFindingsSchema, j as isCliValidateFindings, t as CliCommandTransportSchema, w as CliValidateFindingsResultSchema } from "./command-result-DfCY18TD.mjs";
3
- import { a as OPENSPEC_CLI_RECOMMENDED_MIN_VERSION, c as OPENSPEC_CLI_SUPPORTED_SERIES, d as classifyOpenSpecCliVersion, f as compareOpenSpecCliVersions, h as parseOpenSpecCliVersion, i as OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION, l as OPENSPEC_CLI_TARGET_MIN_VERSION, m as formatOpenSpecCliVersion, n as OPENSPEC_CLI_ACCEPTED_RANGE, o as OPENSPEC_CLI_RECOMMENDED_RANGE, p as deriveOpenSpecCliCapabilities, r as OPENSPEC_CLI_MIN_VERSION, s as OPENSPEC_CLI_REFERENCE_TAG_PATTERN, t as OPENSPECUI_TARGET_MAJOR, u as OPENSPEC_CLI_TARGET_SERIES } from "./openspec-compat-CNMMuTot.mjs";
2
+ import { E as CliValidateReportSchema, M as isCliValidateFindings, T as CliValidateFindingsSchema, t as CliCommandTransportSchema, w as CliValidateFindingsResultSchema } from "./command-result-BBsaUYw2.mjs";
3
+ import { a as OPENSPEC_CLI_RECOMMENDED_MIN_VERSION, c as OPENSPEC_CLI_SUPPORTED_SERIES, d as classifyOpenSpecCliVersion, f as compareOpenSpecCliVersions, h as parseOpenSpecCliVersion, i as OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION, l as OPENSPEC_CLI_TARGET_MIN_VERSION, m as formatOpenSpecCliVersion, n as OPENSPEC_CLI_ACCEPTED_RANGE, o as OPENSPEC_CLI_RECOMMENDED_RANGE, p as deriveOpenSpecCliCapabilities, r as OPENSPEC_CLI_MIN_VERSION, s as OPENSPEC_CLI_REFERENCE_TAG_PATTERN, t as OPENSPECUI_TARGET_MAJOR, u as OPENSPEC_CLI_TARGET_SERIES } from "./openspec-compat-B1OCT-hK.mjs";
4
4
 
5
5
  export { CliCommandTransportSchema, CliValidateFindingsResultSchema, CliValidateFindingsSchema, CliValidateReportSchema, OPENSPECUI_TARGET_MAJOR, OPENSPEC_CLI_ACCEPTED_RANGE, OPENSPEC_CLI_MIN_VERSION, OPENSPEC_CLI_NEXT_SERIES_MIN_VERSION, OPENSPEC_CLI_RECOMMENDED_MIN_VERSION, OPENSPEC_CLI_RECOMMENDED_RANGE, OPENSPEC_CLI_REFERENCE_TAG_PATTERN, OPENSPEC_CLI_SUPPORTED_SERIES, OPENSPEC_CLI_TARGET_MIN_VERSION, OPENSPEC_CLI_TARGET_SERIES, classifyOpenSpecCliVersion, compareOpenSpecCliVersions, deriveOpenSpecCliCapabilities, formatOpenSpecCliVersion, isCliValidateFindings, parseOpenSpecCliVersion };
@@ -1,4 +1,4 @@
1
- import { g as Spec } from "./schemas-pfpqDlAd.mjs";
1
+ import { g as Spec } from "./schemas-DqfpM3ZI.mjs";
2
2
  import { d as MarkdownReadingPlugin, l as MarkdownReadingDocument } from "./markdown-reading-CsLbxubT.mjs";
3
3
  import { n as OpenSpecAnnotation, t as AnnotatedOpenSpecDocument } from "./openspec-annotations-8ppmICAU.mjs";
4
4