@selvakumaresra/specship 0.1.1 → 0.1.3
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/package.json +8 -7
- package/scripts/sync-shim-version.mjs +64 -0
- package/dist/bin/node-version-check.d.ts +0 -37
- package/dist/bin/node-version-check.d.ts.map +0 -1
- package/dist/bin/node-version-check.js +0 -79
- package/dist/bin/node-version-check.js.map +0 -1
- package/dist/bin/specship.d.ts +0 -25
- package/dist/bin/specship.d.ts.map +0 -1
- package/dist/bin/specship.js +0 -2018
- package/dist/bin/specship.js.map +0 -1
- package/dist/bin/uninstall.d.ts +0 -13
- package/dist/bin/uninstall.d.ts.map +0 -1
- package/dist/bin/uninstall.js +0 -35
- package/dist/bin/uninstall.js.map +0 -1
- package/dist/context/formatter.d.ts +0 -30
- package/dist/context/formatter.d.ts.map +0 -1
- package/dist/context/formatter.js +0 -263
- package/dist/context/formatter.js.map +0 -1
- package/dist/context/index.d.ts +0 -119
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -1289
- package/dist/context/index.js.map +0 -1
- package/dist/context/markers.d.ts +0 -19
- package/dist/context/markers.d.ts.map +0 -1
- package/dist/context/markers.js +0 -22
- package/dist/context/markers.js.map +0 -1
- package/dist/db/index.d.ts +0 -101
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/index.js +0 -276
- package/dist/db/index.js.map +0 -1
- package/dist/db/migrations.d.ts +0 -44
- package/dist/db/migrations.d.ts.map +0 -1
- package/dist/db/migrations.js +0 -427
- package/dist/db/migrations.js.map +0 -1
- package/dist/db/queries.d.ts +0 -357
- package/dist/db/queries.d.ts.map +0 -1
- package/dist/db/queries.js +0 -1504
- package/dist/db/queries.js.map +0 -1
- package/dist/db/schema.sql +0 -410
- package/dist/db/spec-queries.d.ts +0 -101
- package/dist/db/spec-queries.d.ts.map +0 -1
- package/dist/db/spec-queries.js +0 -675
- package/dist/db/spec-queries.js.map +0 -1
- package/dist/db/sqlite-adapter.d.ts +0 -65
- package/dist/db/sqlite-adapter.d.ts.map +0 -1
- package/dist/db/sqlite-adapter.js +0 -214
- package/dist/db/sqlite-adapter.js.map +0 -1
- package/dist/directory.d.ts +0 -57
- package/dist/directory.d.ts.map +0 -1
- package/dist/directory.js +0 -253
- package/dist/directory.js.map +0 -1
- package/dist/errors.d.ts +0 -136
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -219
- package/dist/errors.js.map +0 -1
- package/dist/extraction/dfm-extractor.d.ts +0 -31
- package/dist/extraction/dfm-extractor.d.ts.map +0 -1
- package/dist/extraction/dfm-extractor.js +0 -151
- package/dist/extraction/dfm-extractor.js.map +0 -1
- package/dist/extraction/generated-detection.d.ts +0 -30
- package/dist/extraction/generated-detection.d.ts.map +0 -1
- package/dist/extraction/generated-detection.js +0 -80
- package/dist/extraction/generated-detection.js.map +0 -1
- package/dist/extraction/grammars.d.ts +0 -100
- package/dist/extraction/grammars.d.ts.map +0 -1
- package/dist/extraction/grammars.js +0 -426
- package/dist/extraction/grammars.js.map +0 -1
- package/dist/extraction/index.d.ts +0 -138
- package/dist/extraction/index.d.ts.map +0 -1
- package/dist/extraction/index.js +0 -1394
- package/dist/extraction/index.js.map +0 -1
- package/dist/extraction/languages/c-cpp.d.ts +0 -4
- package/dist/extraction/languages/c-cpp.d.ts.map +0 -1
- package/dist/extraction/languages/c-cpp.js +0 -171
- package/dist/extraction/languages/c-cpp.js.map +0 -1
- package/dist/extraction/languages/csharp.d.ts +0 -3
- package/dist/extraction/languages/csharp.d.ts.map +0 -1
- package/dist/extraction/languages/csharp.js +0 -73
- package/dist/extraction/languages/csharp.js.map +0 -1
- package/dist/extraction/languages/dart.d.ts +0 -3
- package/dist/extraction/languages/dart.d.ts.map +0 -1
- package/dist/extraction/languages/dart.js +0 -192
- package/dist/extraction/languages/dart.js.map +0 -1
- package/dist/extraction/languages/go.d.ts +0 -3
- package/dist/extraction/languages/go.d.ts.map +0 -1
- package/dist/extraction/languages/go.js +0 -74
- package/dist/extraction/languages/go.js.map +0 -1
- package/dist/extraction/languages/index.d.ts +0 -10
- package/dist/extraction/languages/index.d.ts.map +0 -1
- package/dist/extraction/languages/index.js +0 -51
- package/dist/extraction/languages/index.js.map +0 -1
- package/dist/extraction/languages/java.d.ts +0 -3
- package/dist/extraction/languages/java.d.ts.map +0 -1
- package/dist/extraction/languages/java.js +0 -70
- package/dist/extraction/languages/java.js.map +0 -1
- package/dist/extraction/languages/javascript.d.ts +0 -3
- package/dist/extraction/languages/javascript.d.ts.map +0 -1
- package/dist/extraction/languages/javascript.js +0 -90
- package/dist/extraction/languages/javascript.js.map +0 -1
- package/dist/extraction/languages/kotlin.d.ts +0 -3
- package/dist/extraction/languages/kotlin.d.ts.map +0 -1
- package/dist/extraction/languages/kotlin.js +0 -259
- package/dist/extraction/languages/kotlin.js.map +0 -1
- package/dist/extraction/languages/lua.d.ts +0 -3
- package/dist/extraction/languages/lua.d.ts.map +0 -1
- package/dist/extraction/languages/lua.js +0 -150
- package/dist/extraction/languages/lua.js.map +0 -1
- package/dist/extraction/languages/luau.d.ts +0 -3
- package/dist/extraction/languages/luau.d.ts.map +0 -1
- package/dist/extraction/languages/luau.js +0 -37
- package/dist/extraction/languages/luau.js.map +0 -1
- package/dist/extraction/languages/objc.d.ts +0 -3
- package/dist/extraction/languages/objc.d.ts.map +0 -1
- package/dist/extraction/languages/objc.js +0 -133
- package/dist/extraction/languages/objc.js.map +0 -1
- package/dist/extraction/languages/pascal.d.ts +0 -3
- package/dist/extraction/languages/pascal.d.ts.map +0 -1
- package/dist/extraction/languages/pascal.js +0 -66
- package/dist/extraction/languages/pascal.js.map +0 -1
- package/dist/extraction/languages/php.d.ts +0 -3
- package/dist/extraction/languages/php.d.ts.map +0 -1
- package/dist/extraction/languages/php.js +0 -107
- package/dist/extraction/languages/php.js.map +0 -1
- package/dist/extraction/languages/python.d.ts +0 -3
- package/dist/extraction/languages/python.d.ts.map +0 -1
- package/dist/extraction/languages/python.js +0 -56
- package/dist/extraction/languages/python.js.map +0 -1
- package/dist/extraction/languages/ruby.d.ts +0 -3
- package/dist/extraction/languages/ruby.d.ts.map +0 -1
- package/dist/extraction/languages/ruby.js +0 -114
- package/dist/extraction/languages/ruby.js.map +0 -1
- package/dist/extraction/languages/rust.d.ts +0 -3
- package/dist/extraction/languages/rust.d.ts.map +0 -1
- package/dist/extraction/languages/rust.js +0 -109
- package/dist/extraction/languages/rust.js.map +0 -1
- package/dist/extraction/languages/scala.d.ts +0 -3
- package/dist/extraction/languages/scala.d.ts.map +0 -1
- package/dist/extraction/languages/scala.js +0 -139
- package/dist/extraction/languages/scala.js.map +0 -1
- package/dist/extraction/languages/swift.d.ts +0 -3
- package/dist/extraction/languages/swift.d.ts.map +0 -1
- package/dist/extraction/languages/swift.js +0 -91
- package/dist/extraction/languages/swift.js.map +0 -1
- package/dist/extraction/languages/typescript.d.ts +0 -3
- package/dist/extraction/languages/typescript.d.ts.map +0 -1
- package/dist/extraction/languages/typescript.js +0 -129
- package/dist/extraction/languages/typescript.js.map +0 -1
- package/dist/extraction/liquid-extractor.d.ts +0 -52
- package/dist/extraction/liquid-extractor.d.ts.map +0 -1
- package/dist/extraction/liquid-extractor.js +0 -313
- package/dist/extraction/liquid-extractor.js.map +0 -1
- package/dist/extraction/mybatis-extractor.d.ts +0 -48
- package/dist/extraction/mybatis-extractor.d.ts.map +0 -1
- package/dist/extraction/mybatis-extractor.js +0 -198
- package/dist/extraction/mybatis-extractor.js.map +0 -1
- package/dist/extraction/parse-worker.d.ts +0 -8
- package/dist/extraction/parse-worker.d.ts.map +0 -1
- package/dist/extraction/parse-worker.js +0 -94
- package/dist/extraction/parse-worker.js.map +0 -1
- package/dist/extraction/specs/markdown-spec-extractor.d.ts +0 -59
- package/dist/extraction/specs/markdown-spec-extractor.d.ts.map +0 -1
- package/dist/extraction/specs/markdown-spec-extractor.js +0 -327
- package/dist/extraction/specs/markdown-spec-extractor.js.map +0 -1
- package/dist/extraction/specs/types.d.ts +0 -39
- package/dist/extraction/specs/types.d.ts.map +0 -1
- package/dist/extraction/specs/types.js +0 -8
- package/dist/extraction/specs/types.js.map +0 -1
- package/dist/extraction/svelte-extractor.d.ts +0 -56
- package/dist/extraction/svelte-extractor.d.ts.map +0 -1
- package/dist/extraction/svelte-extractor.js +0 -272
- package/dist/extraction/svelte-extractor.js.map +0 -1
- package/dist/extraction/tree-sitter-helpers.d.ts +0 -28
- package/dist/extraction/tree-sitter-helpers.d.ts.map +0 -1
- package/dist/extraction/tree-sitter-helpers.js +0 -103
- package/dist/extraction/tree-sitter-helpers.js.map +0 -1
- package/dist/extraction/tree-sitter-types.d.ts +0 -193
- package/dist/extraction/tree-sitter-types.d.ts.map +0 -1
- package/dist/extraction/tree-sitter-types.js +0 -10
- package/dist/extraction/tree-sitter-types.js.map +0 -1
- package/dist/extraction/tree-sitter.d.ts +0 -317
- package/dist/extraction/tree-sitter.d.ts.map +0 -1
- package/dist/extraction/tree-sitter.js +0 -3092
- package/dist/extraction/tree-sitter.js.map +0 -1
- package/dist/extraction/vue-extractor.d.ts +0 -51
- package/dist/extraction/vue-extractor.d.ts.map +0 -1
- package/dist/extraction/vue-extractor.js +0 -251
- package/dist/extraction/vue-extractor.js.map +0 -1
- package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +0 -38
- package/dist/extraction/wasm-runtime-flags.d.ts.map +0 -1
- package/dist/extraction/wasm-runtime-flags.js +0 -106
- package/dist/extraction/wasm-runtime-flags.js.map +0 -1
- package/dist/graph/index.d.ts +0 -8
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js +0 -13
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/queries.d.ts +0 -106
- package/dist/graph/queries.d.ts.map +0 -1
- package/dist/graph/queries.js +0 -366
- package/dist/graph/queries.js.map +0 -1
- package/dist/graph/traversal.d.ts +0 -127
- package/dist/graph/traversal.d.ts.map +0 -1
- package/dist/graph/traversal.js +0 -531
- package/dist/graph/traversal.js.map +0 -1
- package/dist/index.d.ts +0 -551
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1165
- package/dist/index.js.map +0 -1
- package/dist/installer/config-writer.d.ts +0 -28
- package/dist/installer/config-writer.d.ts.map +0 -1
- package/dist/installer/config-writer.js +0 -91
- package/dist/installer/config-writer.js.map +0 -1
- package/dist/installer/index.d.ts +0 -87
- package/dist/installer/index.d.ts.map +0 -1
- package/dist/installer/index.js +0 -409
- package/dist/installer/index.js.map +0 -1
- package/dist/installer/instructions-template.d.ts +0 -18
- package/dist/installer/instructions-template.d.ts.map +0 -1
- package/dist/installer/instructions-template.js +0 -21
- package/dist/installer/instructions-template.js.map +0 -1
- package/dist/installer/targets/claude.d.ts +0 -88
- package/dist/installer/targets/claude.d.ts.map +0 -1
- package/dist/installer/targets/claude.js +0 -582
- package/dist/installer/targets/claude.js.map +0 -1
- package/dist/installer/targets/registry.d.ts +0 -19
- package/dist/installer/targets/registry.d.ts.map +0 -1
- package/dist/installer/targets/registry.js +0 -31
- package/dist/installer/targets/registry.js.map +0 -1
- package/dist/installer/targets/shared.d.ts +0 -62
- package/dist/installer/targets/shared.d.ts.map +0 -1
- package/dist/installer/targets/shared.js +0 -207
- package/dist/installer/targets/shared.js.map +0 -1
- package/dist/installer/targets/types.d.ts +0 -76
- package/dist/installer/targets/types.d.ts.map +0 -1
- package/dist/installer/targets/types.js +0 -12
- package/dist/installer/targets/types.js.map +0 -1
- package/dist/isolation/worktree.d.ts +0 -65
- package/dist/isolation/worktree.d.ts.map +0 -1
- package/dist/isolation/worktree.js +0 -231
- package/dist/isolation/worktree.js.map +0 -1
- package/dist/mcp/daemon-paths.d.ts +0 -46
- package/dist/mcp/daemon-paths.d.ts.map +0 -1
- package/dist/mcp/daemon-paths.js +0 -125
- package/dist/mcp/daemon-paths.js.map +0 -1
- package/dist/mcp/daemon.d.ts +0 -161
- package/dist/mcp/daemon.d.ts.map +0 -1
- package/dist/mcp/daemon.js +0 -403
- package/dist/mcp/daemon.js.map +0 -1
- package/dist/mcp/engine.d.ts +0 -105
- package/dist/mcp/engine.d.ts.map +0 -1
- package/dist/mcp/engine.js +0 -270
- package/dist/mcp/engine.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -112
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -477
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/proxy.d.ts +0 -81
- package/dist/mcp/proxy.d.ts.map +0 -1
- package/dist/mcp/proxy.js +0 -510
- package/dist/mcp/proxy.js.map +0 -1
- package/dist/mcp/server-instructions.d.ts +0 -18
- package/dist/mcp/server-instructions.d.ts.map +0 -1
- package/dist/mcp/server-instructions.js +0 -77
- package/dist/mcp/server-instructions.js.map +0 -1
- package/dist/mcp/session.d.ts +0 -77
- package/dist/mcp/session.d.ts.map +0 -1
- package/dist/mcp/session.js +0 -294
- package/dist/mcp/session.js.map +0 -1
- package/dist/mcp/spec-tools.d.ts +0 -39
- package/dist/mcp/spec-tools.d.ts.map +0 -1
- package/dist/mcp/spec-tools.js +0 -326
- package/dist/mcp/spec-tools.js.map +0 -1
- package/dist/mcp/tools.d.ts +0 -404
- package/dist/mcp/tools.d.ts.map +0 -1
- package/dist/mcp/tools.js +0 -3066
- package/dist/mcp/tools.js.map +0 -1
- package/dist/mcp/transport.d.ts +0 -188
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/mcp/transport.js +0 -343
- package/dist/mcp/transport.js.map +0 -1
- package/dist/mcp/version.d.ts +0 -19
- package/dist/mcp/version.d.ts.map +0 -1
- package/dist/mcp/version.js +0 -71
- package/dist/mcp/version.js.map +0 -1
- package/dist/resolution/callback-synthesizer.d.ts +0 -10
- package/dist/resolution/callback-synthesizer.d.ts.map +0 -1
- package/dist/resolution/callback-synthesizer.js +0 -1300
- package/dist/resolution/callback-synthesizer.js.map +0 -1
- package/dist/resolution/frameworks/cargo-workspace.d.ts +0 -18
- package/dist/resolution/frameworks/cargo-workspace.d.ts.map +0 -1
- package/dist/resolution/frameworks/cargo-workspace.js +0 -225
- package/dist/resolution/frameworks/cargo-workspace.js.map +0 -1
- package/dist/resolution/frameworks/csharp.d.ts +0 -8
- package/dist/resolution/frameworks/csharp.d.ts.map +0 -1
- package/dist/resolution/frameworks/csharp.js +0 -241
- package/dist/resolution/frameworks/csharp.js.map +0 -1
- package/dist/resolution/frameworks/drupal.d.ts +0 -51
- package/dist/resolution/frameworks/drupal.d.ts.map +0 -1
- package/dist/resolution/frameworks/drupal.js +0 -367
- package/dist/resolution/frameworks/drupal.js.map +0 -1
- package/dist/resolution/frameworks/expo-modules.d.ts +0 -3
- package/dist/resolution/frameworks/expo-modules.d.ts.map +0 -1
- package/dist/resolution/frameworks/expo-modules.js +0 -143
- package/dist/resolution/frameworks/expo-modules.js.map +0 -1
- package/dist/resolution/frameworks/express.d.ts +0 -8
- package/dist/resolution/frameworks/express.d.ts.map +0 -1
- package/dist/resolution/frameworks/express.js +0 -308
- package/dist/resolution/frameworks/express.js.map +0 -1
- package/dist/resolution/frameworks/fabric.d.ts +0 -3
- package/dist/resolution/frameworks/fabric.d.ts.map +0 -1
- package/dist/resolution/frameworks/fabric.js +0 -354
- package/dist/resolution/frameworks/fabric.js.map +0 -1
- package/dist/resolution/frameworks/go.d.ts +0 -8
- package/dist/resolution/frameworks/go.d.ts.map +0 -1
- package/dist/resolution/frameworks/go.js +0 -161
- package/dist/resolution/frameworks/go.js.map +0 -1
- package/dist/resolution/frameworks/index.d.ts +0 -48
- package/dist/resolution/frameworks/index.d.ts.map +0 -1
- package/dist/resolution/frameworks/index.js +0 -161
- package/dist/resolution/frameworks/index.js.map +0 -1
- package/dist/resolution/frameworks/java.d.ts +0 -8
- package/dist/resolution/frameworks/java.d.ts.map +0 -1
- package/dist/resolution/frameworks/java.js +0 -504
- package/dist/resolution/frameworks/java.js.map +0 -1
- package/dist/resolution/frameworks/laravel.d.ts +0 -13
- package/dist/resolution/frameworks/laravel.d.ts.map +0 -1
- package/dist/resolution/frameworks/laravel.js +0 -257
- package/dist/resolution/frameworks/laravel.js.map +0 -1
- package/dist/resolution/frameworks/nestjs.d.ts +0 -26
- package/dist/resolution/frameworks/nestjs.d.ts.map +0 -1
- package/dist/resolution/frameworks/nestjs.js +0 -698
- package/dist/resolution/frameworks/nestjs.js.map +0 -1
- package/dist/resolution/frameworks/play.d.ts +0 -19
- package/dist/resolution/frameworks/play.d.ts.map +0 -1
- package/dist/resolution/frameworks/play.js +0 -111
- package/dist/resolution/frameworks/play.js.map +0 -1
- package/dist/resolution/frameworks/python.d.ts +0 -10
- package/dist/resolution/frameworks/python.d.ts.map +0 -1
- package/dist/resolution/frameworks/python.js +0 -396
- package/dist/resolution/frameworks/python.js.map +0 -1
- package/dist/resolution/frameworks/react-native.d.ts +0 -3
- package/dist/resolution/frameworks/react-native.d.ts.map +0 -1
- package/dist/resolution/frameworks/react-native.js +0 -360
- package/dist/resolution/frameworks/react-native.js.map +0 -1
- package/dist/resolution/frameworks/react.d.ts +0 -8
- package/dist/resolution/frameworks/react.d.ts.map +0 -1
- package/dist/resolution/frameworks/react.js +0 -365
- package/dist/resolution/frameworks/react.js.map +0 -1
- package/dist/resolution/frameworks/ruby.d.ts +0 -8
- package/dist/resolution/frameworks/ruby.d.ts.map +0 -1
- package/dist/resolution/frameworks/ruby.js +0 -302
- package/dist/resolution/frameworks/ruby.js.map +0 -1
- package/dist/resolution/frameworks/rust.d.ts +0 -8
- package/dist/resolution/frameworks/rust.d.ts.map +0 -1
- package/dist/resolution/frameworks/rust.js +0 -304
- package/dist/resolution/frameworks/rust.js.map +0 -1
- package/dist/resolution/frameworks/svelte.d.ts +0 -9
- package/dist/resolution/frameworks/svelte.d.ts.map +0 -1
- package/dist/resolution/frameworks/svelte.js +0 -249
- package/dist/resolution/frameworks/svelte.js.map +0 -1
- package/dist/resolution/frameworks/swift-objc.d.ts +0 -37
- package/dist/resolution/frameworks/swift-objc.d.ts.map +0 -1
- package/dist/resolution/frameworks/swift-objc.js +0 -252
- package/dist/resolution/frameworks/swift-objc.js.map +0 -1
- package/dist/resolution/frameworks/swift.d.ts +0 -10
- package/dist/resolution/frameworks/swift.d.ts.map +0 -1
- package/dist/resolution/frameworks/swift.js +0 -400
- package/dist/resolution/frameworks/swift.js.map +0 -1
- package/dist/resolution/frameworks/vue.d.ts +0 -9
- package/dist/resolution/frameworks/vue.d.ts.map +0 -1
- package/dist/resolution/frameworks/vue.js +0 -306
- package/dist/resolution/frameworks/vue.js.map +0 -1
- package/dist/resolution/go-module.d.ts +0 -26
- package/dist/resolution/go-module.d.ts.map +0 -1
- package/dist/resolution/go-module.js +0 -78
- package/dist/resolution/go-module.js.map +0 -1
- package/dist/resolution/import-resolver.d.ts +0 -68
- package/dist/resolution/import-resolver.d.ts.map +0 -1
- package/dist/resolution/import-resolver.js +0 -1275
- package/dist/resolution/import-resolver.js.map +0 -1
- package/dist/resolution/index.d.ts +0 -117
- package/dist/resolution/index.d.ts.map +0 -1
- package/dist/resolution/index.js +0 -895
- package/dist/resolution/index.js.map +0 -1
- package/dist/resolution/lru-cache.d.ts +0 -24
- package/dist/resolution/lru-cache.d.ts.map +0 -1
- package/dist/resolution/lru-cache.js +0 -62
- package/dist/resolution/lru-cache.js.map +0 -1
- package/dist/resolution/name-matcher.d.ts +0 -32
- package/dist/resolution/name-matcher.d.ts.map +0 -1
- package/dist/resolution/name-matcher.js +0 -596
- package/dist/resolution/name-matcher.js.map +0 -1
- package/dist/resolution/path-aliases.d.ts +0 -68
- package/dist/resolution/path-aliases.d.ts.map +0 -1
- package/dist/resolution/path-aliases.js +0 -238
- package/dist/resolution/path-aliases.js.map +0 -1
- package/dist/resolution/spec-link-resolver.d.ts +0 -103
- package/dist/resolution/spec-link-resolver.d.ts.map +0 -1
- package/dist/resolution/spec-link-resolver.js +0 -259
- package/dist/resolution/spec-link-resolver.js.map +0 -1
- package/dist/resolution/strip-comments.d.ts +0 -27
- package/dist/resolution/strip-comments.d.ts.map +0 -1
- package/dist/resolution/strip-comments.js +0 -441
- package/dist/resolution/strip-comments.js.map +0 -1
- package/dist/resolution/swift-objc-bridge.d.ts +0 -134
- package/dist/resolution/swift-objc-bridge.d.ts.map +0 -1
- package/dist/resolution/swift-objc-bridge.js +0 -256
- package/dist/resolution/swift-objc-bridge.js.map +0 -1
- package/dist/resolution/types.d.ts +0 -216
- package/dist/resolution/types.d.ts.map +0 -1
- package/dist/resolution/types.js +0 -8
- package/dist/resolution/types.js.map +0 -1
- package/dist/resolution/workspace-packages.d.ts +0 -48
- package/dist/resolution/workspace-packages.d.ts.map +0 -1
- package/dist/resolution/workspace-packages.js +0 -208
- package/dist/resolution/workspace-packages.js.map +0 -1
- package/dist/search/query-parser.d.ts +0 -57
- package/dist/search/query-parser.d.ts.map +0 -1
- package/dist/search/query-parser.js +0 -177
- package/dist/search/query-parser.js.map +0 -1
- package/dist/search/query-utils.d.ts +0 -71
- package/dist/search/query-utils.d.ts.map +0 -1
- package/dist/search/query-utils.js +0 -380
- package/dist/search/query-utils.js.map +0 -1
- package/dist/server/cli.js +0 -152
- package/dist/server/index.js +0 -12
- package/dist/server/ingest/index.js +0 -18
- package/dist/server/ingest/ingestor.js +0 -406
- package/dist/server/ingest/parser.js +0 -104
- package/dist/server/ingest/pricing.js +0 -78
- package/dist/server/ingest/types.js +0 -9
- package/dist/server/ingest/watcher.js +0 -77
- package/dist/server/package.json +0 -3
- package/dist/server/project-registry.js +0 -101
- package/dist/server/routes/claude.js +0 -480
- package/dist/server/routes/graph.js +0 -149
- package/dist/server/routes/memory.js +0 -272
- package/dist/server/routes/projects.js +0 -197
- package/dist/server/routes/spec.js +0 -105
- package/dist/server/routes/status.js +0 -35
- package/dist/server/routes/workflow.js +0 -184
- package/dist/server/server.js +0 -202
- package/dist/sync/git-hooks.d.ts +0 -45
- package/dist/sync/git-hooks.d.ts.map +0 -1
- package/dist/sync/git-hooks.js +0 -225
- package/dist/sync/git-hooks.js.map +0 -1
- package/dist/sync/index.d.ts +0 -19
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/sync/index.js +0 -35
- package/dist/sync/index.js.map +0 -1
- package/dist/sync/watch-policy.d.ts +0 -48
- package/dist/sync/watch-policy.d.ts.map +0 -1
- package/dist/sync/watch-policy.js +0 -124
- package/dist/sync/watch-policy.js.map +0 -1
- package/dist/sync/watcher.d.ts +0 -283
- package/dist/sync/watcher.d.ts.map +0 -1
- package/dist/sync/watcher.js +0 -606
- package/dist/sync/watcher.js.map +0 -1
- package/dist/sync/worktree.d.ts +0 -54
- package/dist/sync/worktree.d.ts.map +0 -1
- package/dist/sync/worktree.js +0 -137
- package/dist/sync/worktree.js.map +0 -1
- package/dist/types.d.ts +0 -623
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -108
- package/dist/types.js.map +0 -1
- package/dist/ui/glyphs.d.ts +0 -42
- package/dist/ui/glyphs.d.ts.map +0 -1
- package/dist/ui/glyphs.js +0 -78
- package/dist/ui/glyphs.js.map +0 -1
- package/dist/ui/shimmer-progress.d.ts +0 -11
- package/dist/ui/shimmer-progress.d.ts.map +0 -1
- package/dist/ui/shimmer-progress.js +0 -90
- package/dist/ui/shimmer-progress.js.map +0 -1
- package/dist/ui/shimmer-worker.d.ts +0 -2
- package/dist/ui/shimmer-worker.d.ts.map +0 -1
- package/dist/ui/shimmer-worker.js +0 -118
- package/dist/ui/shimmer-worker.js.map +0 -1
- package/dist/ui/types.d.ts +0 -17
- package/dist/ui/types.d.ts.map +0 -1
- package/dist/ui/types.js +0 -3
- package/dist/ui/types.js.map +0 -1
- package/dist/utils.d.ts +0 -205
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -549
- package/dist/utils.js.map +0 -1
- package/dist/web/chunk-2YZXEHZ2.js +0 -1
- package/dist/web/chunk-3GIC555L.js +0 -18
- package/dist/web/chunk-3IIIGRMT.js +0 -1
- package/dist/web/chunk-47QYKLE5.js +0 -1
- package/dist/web/chunk-4LHBWWP7.js +0 -1
- package/dist/web/chunk-4OAZLD5W.js +0 -1
- package/dist/web/chunk-5OQKAJAE.js +0 -1
- package/dist/web/chunk-7B525GKQ.js +0 -1
- package/dist/web/chunk-BPDXCOOZ.js +0 -1
- package/dist/web/chunk-DT37HTZB.js +0 -1
- package/dist/web/chunk-EIMUHJND.js +0 -1
- package/dist/web/chunk-FTESTUEO.js +0 -1
- package/dist/web/chunk-GLJZV6MU.js +0 -1
- package/dist/web/chunk-I7LS67U5.js +0 -1
- package/dist/web/chunk-L4TVIPSR.js +0 -1
- package/dist/web/chunk-MASCULC2.js +0 -1
- package/dist/web/chunk-MW7ICSRM.js +0 -1
- package/dist/web/chunk-OI5VP2A3.js +0 -1
- package/dist/web/chunk-RA6EBF6I.js +0 -1
- package/dist/web/chunk-RP3WU5Y6.js +0 -1
- package/dist/web/chunk-RQDRMTXN.js +0 -1
- package/dist/web/chunk-TQMT6UDU.js +0 -1
- package/dist/web/chunk-U7IYOV7T.js +0 -1
- package/dist/web/chunk-UE227MWF.js +0 -1
- package/dist/web/chunk-WV573J4K.js +0 -1
- package/dist/web/chunk-WVCKOJZL.js +0 -4
- package/dist/web/chunk-XZKLVPHE.js +0 -1
- package/dist/web/chunk-ZABKKHJ3.js +0 -1
- package/dist/web/favicon-16.png +0 -0
- package/dist/web/favicon-180.png +0 -0
- package/dist/web/favicon-32.png +0 -0
- package/dist/web/favicon-512.png +0 -0
- package/dist/web/favicon-small.svg +0 -15
- package/dist/web/favicon.ico +0 -0
- package/dist/web/favicon.svg +0 -20
- package/dist/web/index.html +0 -145
- package/dist/web/main-RI5CO5Z4.js +0 -1
- package/dist/web/styles-CYN7IKT4.css +0 -1
- package/dist/workflows/condition-evaluator.d.ts +0 -75
- package/dist/workflows/condition-evaluator.d.ts.map +0 -1
- package/dist/workflows/condition-evaluator.js +0 -282
- package/dist/workflows/condition-evaluator.js.map +0 -1
- package/dist/workflows/defaults/index.d.ts +0 -26
- package/dist/workflows/defaults/index.d.ts.map +0 -1
- package/dist/workflows/defaults/index.js +0 -94
- package/dist/workflows/defaults/index.js.map +0 -1
- package/dist/workflows/defaults/spec-fix.yaml +0 -110
- package/dist/workflows/defaults/spec-implement.yaml +0 -150
- package/dist/workflows/defaults/spec-relink.yaml +0 -81
- package/dist/workflows/defaults/spec-verify.yaml +0 -51
- package/dist/workflows/discovery.d.ts +0 -46
- package/dist/workflows/discovery.d.ts.map +0 -1
- package/dist/workflows/discovery.js +0 -193
- package/dist/workflows/discovery.js.map +0 -1
- package/dist/workflows/executor.d.ts +0 -83
- package/dist/workflows/executor.d.ts.map +0 -1
- package/dist/workflows/executor.js +0 -623
- package/dist/workflows/executor.js.map +0 -1
- package/dist/workflows/runners/approval.d.ts +0 -18
- package/dist/workflows/runners/approval.d.ts.map +0 -1
- package/dist/workflows/runners/approval.js +0 -34
- package/dist/workflows/runners/approval.js.map +0 -1
- package/dist/workflows/runners/bash.d.ts +0 -13
- package/dist/workflows/runners/bash.d.ts.map +0 -1
- package/dist/workflows/runners/bash.js +0 -143
- package/dist/workflows/runners/bash.js.map +0 -1
- package/dist/workflows/runners/cancel.d.ts +0 -10
- package/dist/workflows/runners/cancel.d.ts.map +0 -1
- package/dist/workflows/runners/cancel.js +0 -19
- package/dist/workflows/runners/cancel.js.map +0 -1
- package/dist/workflows/runners/prompt.d.ts +0 -28
- package/dist/workflows/runners/prompt.d.ts.map +0 -1
- package/dist/workflows/runners/prompt.js +0 -212
- package/dist/workflows/runners/prompt.js.map +0 -1
- package/dist/workflows/runners/script.d.ts +0 -17
- package/dist/workflows/runners/script.d.ts.map +0 -1
- package/dist/workflows/runners/script.js +0 -155
- package/dist/workflows/runners/script.js.map +0 -1
- package/dist/workflows/runners/types.d.ts +0 -51
- package/dist/workflows/runners/types.d.ts.map +0 -1
- package/dist/workflows/runners/types.js +0 -13
- package/dist/workflows/runners/types.js.map +0 -1
- package/dist/workflows/schemas/workflow.d.ts +0 -166
- package/dist/workflows/schemas/workflow.d.ts.map +0 -1
- package/dist/workflows/schemas/workflow.js +0 -437
- package/dist/workflows/schemas/workflow.js.map +0 -1
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Condition evaluator + `$nodeId.output` substitution.
|
|
4
|
-
*
|
|
5
|
-
* Modeled on Archon's evaluator (packages/workflows/src/dag-executor.ts:331-372).
|
|
6
|
-
*
|
|
7
|
-
* Two responsibilities:
|
|
8
|
-
* 1. Substitute `$nodeId.output[.field]` references in a template string
|
|
9
|
-
* with the corresponding upstream node output.
|
|
10
|
-
* 2. Evaluate `when:` expressions to gate a node's execution.
|
|
11
|
-
*
|
|
12
|
-
* Design choices:
|
|
13
|
-
* - Unresolvable field references THROW `OutputRefError` (no silent drop).
|
|
14
|
-
* - Unparseable `when:` expressions FAIL CLOSED (skip the node) so an
|
|
15
|
-
* authoring mistake doesn't run a step the author didn't intend.
|
|
16
|
-
* - Large outputs (>10KB) are spilled to a file and the substitution
|
|
17
|
-
* emits a `$(cat <file>)` shell command for bash nodes (so they don't
|
|
18
|
-
* blow up the shell argv); for prompt nodes the raw text is inlined.
|
|
19
|
-
*/
|
|
20
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
23
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
24
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
25
|
-
}
|
|
26
|
-
Object.defineProperty(o, k2, desc);
|
|
27
|
-
}) : (function(o, m, k, k2) {
|
|
28
|
-
if (k2 === undefined) k2 = k;
|
|
29
|
-
o[k2] = m[k];
|
|
30
|
-
}));
|
|
31
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
32
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
33
|
-
}) : function(o, v) {
|
|
34
|
-
o["default"] = v;
|
|
35
|
-
});
|
|
36
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
37
|
-
var ownKeys = function(o) {
|
|
38
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
39
|
-
var ar = [];
|
|
40
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
41
|
-
return ar;
|
|
42
|
-
};
|
|
43
|
-
return ownKeys(o);
|
|
44
|
-
};
|
|
45
|
-
return function (mod) {
|
|
46
|
-
if (mod && mod.__esModule) return mod;
|
|
47
|
-
var result = {};
|
|
48
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
49
|
-
__setModuleDefault(result, mod);
|
|
50
|
-
return result;
|
|
51
|
-
};
|
|
52
|
-
})();
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.OutputRefError = void 0;
|
|
55
|
-
exports.substituteRefs = substituteRefs;
|
|
56
|
-
exports.evaluateCondition = evaluateCondition;
|
|
57
|
-
const fs = __importStar(require("fs"));
|
|
58
|
-
const path = __importStar(require("path"));
|
|
59
|
-
class OutputRefError extends Error {
|
|
60
|
-
ref;
|
|
61
|
-
constructor(ref, message) {
|
|
62
|
-
super(`OutputRef "${ref}": ${message}`);
|
|
63
|
-
this.ref = ref;
|
|
64
|
-
this.name = 'OutputRefError';
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.OutputRefError = OutputRefError;
|
|
68
|
-
/** Pattern matching `$nodeId` or `$nodeId.output` or `$nodeId.output.field` or `$VAR`. */
|
|
69
|
-
const REF_PATTERN = /\$([A-Z_][A-Z0-9_]*|[a-zA-Z_][a-zA-Z0-9_-]*)(?:\.([a-zA-Z_][a-zA-Z0-9_]*))?(?:\.([a-zA-Z_][a-zA-Z0-9_]*))?/g;
|
|
70
|
-
const DEFAULT_SPILL_THRESHOLD = 10 * 1024;
|
|
71
|
-
/**
|
|
72
|
-
* Substitute references in a template. Returns the substituted string.
|
|
73
|
-
* Throws OutputRefError for unresolvable named-field references.
|
|
74
|
-
*
|
|
75
|
-
* `forBash`: when true and a substituted value exceeds the spill threshold,
|
|
76
|
-
* writes the value to a temp file and substitutes `$(cat <file>)` instead
|
|
77
|
-
* of the raw text — preventing shell argv overflow.
|
|
78
|
-
*/
|
|
79
|
-
function substituteRefs(template, ctx, opts = {}) {
|
|
80
|
-
const spillDir = ctx.spillDir ?? require('os').tmpdir();
|
|
81
|
-
const threshold = ctx.spillThreshold ?? DEFAULT_SPILL_THRESHOLD;
|
|
82
|
-
return template.replace(REF_PATTERN, (match, name, second, third) => {
|
|
83
|
-
// Static variables ($CONTEXT, $ARTIFACTS_DIR, $INPUT.NAME): UPPER_SNAKE name.
|
|
84
|
-
if (/^[A-Z_][A-Z0-9_]*$/.test(name)) {
|
|
85
|
-
// `$INPUT.SPEC_ID` style: name='INPUT', second='SPEC_ID'
|
|
86
|
-
if (name === 'INPUT' && second) {
|
|
87
|
-
const v = ctx.inputs?.[second];
|
|
88
|
-
if (v === undefined) {
|
|
89
|
-
throw new OutputRefError(match, `input "${second}" not provided to this workflow`);
|
|
90
|
-
}
|
|
91
|
-
return v;
|
|
92
|
-
}
|
|
93
|
-
// `$ARTIFACTS_DIR`, `$CONTEXT`, etc.
|
|
94
|
-
const v = ctx.variables?.[name];
|
|
95
|
-
if (v !== undefined)
|
|
96
|
-
return v;
|
|
97
|
-
// Fall through to node-id lookup (an UPPER_SNAKE word might be a node ID).
|
|
98
|
-
}
|
|
99
|
-
// Node-output reference. Second segment must be `output` for v1.
|
|
100
|
-
if (second !== 'output') {
|
|
101
|
-
// Bare `$nodeId` with no `.output` is treated as plain text (no substitution).
|
|
102
|
-
// This lets prompt authors include literal `$variableName` references
|
|
103
|
-
// without escaping when they're not addressing a node.
|
|
104
|
-
if (second === undefined)
|
|
105
|
-
return match;
|
|
106
|
-
throw new OutputRefError(match, `expected ".output" after node ID; got ".${second}"`);
|
|
107
|
-
}
|
|
108
|
-
const out = ctx.outputs.get(name);
|
|
109
|
-
if (!out) {
|
|
110
|
-
throw new OutputRefError(match, `node "${name}" has not produced output yet (not run, skipped, or failed)`);
|
|
111
|
-
}
|
|
112
|
-
let value;
|
|
113
|
-
if (third) {
|
|
114
|
-
// Field access: prefer structured, fall back to JSON-parsed text.
|
|
115
|
-
if (out.structured !== undefined && third in out.structured) {
|
|
116
|
-
value = out.structured[third];
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
try {
|
|
120
|
-
const parsed = JSON.parse(out.text);
|
|
121
|
-
if (parsed && typeof parsed === 'object' && third in parsed) {
|
|
122
|
-
value = parsed[third];
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
throw new OutputRefError(match, `field "${third}" not found in node "${name}" output`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
if (err instanceof OutputRefError)
|
|
130
|
-
throw err;
|
|
131
|
-
throw new OutputRefError(match, `node "${name}" output is not JSON-parseable; can't access field "${third}"`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
value = out.text;
|
|
137
|
-
}
|
|
138
|
-
const asString = typeof value === 'string' ? value : JSON.stringify(value);
|
|
139
|
-
// Spill very large values to a file for bash nodes (argv overflow).
|
|
140
|
-
if (opts.forBash && asString.length > threshold) {
|
|
141
|
-
const filename = `cg-spill-${opts.nodeId ?? 'node'}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}.txt`;
|
|
142
|
-
const spillPath = path.join(spillDir, filename);
|
|
143
|
-
try {
|
|
144
|
-
fs.writeFileSync(spillPath, asString);
|
|
145
|
-
return `"$(cat ${shellEscape(spillPath)})"`;
|
|
146
|
-
}
|
|
147
|
-
catch {
|
|
148
|
-
// Fall through to inline if we can't spill — better than failing.
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (opts.forBash) {
|
|
152
|
-
// Single-quote-wrap for shell safety. Embedded single quotes get escaped.
|
|
153
|
-
return shellSingleQuote(asString);
|
|
154
|
-
}
|
|
155
|
-
return asString;
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Evaluate a `when:` condition expression. Fail-closed: on parse error,
|
|
160
|
-
* returns false (the node skips).
|
|
161
|
-
*
|
|
162
|
-
* Grammar (subset, no parens):
|
|
163
|
-
* expr := and (`||` and)*
|
|
164
|
-
* and := cmp (`&&` cmp)*
|
|
165
|
-
* cmp := value op value
|
|
166
|
-
* op := `==` | `!=` | `<` | `>` | `<=` | `>=`
|
|
167
|
-
* value := $ref | 'string' | "string" | bare_word | number
|
|
168
|
-
*/
|
|
169
|
-
function evaluateCondition(expression, ctx) {
|
|
170
|
-
// First substitute $refs to their values (using a "raw" form — no quoting,
|
|
171
|
-
// no spilling). We do this before tokenizing so the parser sees literal
|
|
172
|
-
// values, not symbolic refs.
|
|
173
|
-
let substituted;
|
|
174
|
-
try {
|
|
175
|
-
substituted = substituteRefs(expression, ctx, { forBash: false });
|
|
176
|
-
}
|
|
177
|
-
catch (err) {
|
|
178
|
-
if (err instanceof OutputRefError) {
|
|
179
|
-
// Unresolvable ref in a `when:` expression — fail closed.
|
|
180
|
-
return false;
|
|
181
|
-
}
|
|
182
|
-
throw err;
|
|
183
|
-
}
|
|
184
|
-
try {
|
|
185
|
-
return evalOr(substituted);
|
|
186
|
-
}
|
|
187
|
-
catch {
|
|
188
|
-
return false;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
// ---------------------------------------------------------------------------
|
|
192
|
-
// Mini expression evaluator (no recursion through full grammar — linear scan).
|
|
193
|
-
// ---------------------------------------------------------------------------
|
|
194
|
-
function evalOr(expr) {
|
|
195
|
-
return splitTopLevel(expr, '||').some((sub) => evalAnd(sub.trim()));
|
|
196
|
-
}
|
|
197
|
-
function evalAnd(expr) {
|
|
198
|
-
return splitTopLevel(expr, '&&').every((sub) => evalCmp(sub.trim()));
|
|
199
|
-
}
|
|
200
|
-
function splitTopLevel(expr, sep) {
|
|
201
|
-
const out = [];
|
|
202
|
-
let depth = 0;
|
|
203
|
-
let last = 0;
|
|
204
|
-
let inSingle = false;
|
|
205
|
-
let inDouble = false;
|
|
206
|
-
for (let i = 0; i <= expr.length - sep.length; i++) {
|
|
207
|
-
const ch = expr[i];
|
|
208
|
-
if (ch === "'" && !inDouble)
|
|
209
|
-
inSingle = !inSingle;
|
|
210
|
-
else if (ch === '"' && !inSingle)
|
|
211
|
-
inDouble = !inDouble;
|
|
212
|
-
if (inSingle || inDouble)
|
|
213
|
-
continue;
|
|
214
|
-
if (ch === '(')
|
|
215
|
-
depth++;
|
|
216
|
-
else if (ch === ')')
|
|
217
|
-
depth--;
|
|
218
|
-
if (depth === 0 && expr.startsWith(sep, i)) {
|
|
219
|
-
out.push(expr.slice(last, i));
|
|
220
|
-
last = i + sep.length;
|
|
221
|
-
i += sep.length - 1;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
out.push(expr.slice(last));
|
|
225
|
-
return out;
|
|
226
|
-
}
|
|
227
|
-
const OP_PATTERN = /(==|!=|<=|>=|<|>)/;
|
|
228
|
-
function evalCmp(expr) {
|
|
229
|
-
const trimmed = expr.trim();
|
|
230
|
-
if (trimmed === 'true')
|
|
231
|
-
return true;
|
|
232
|
-
if (trimmed === 'false')
|
|
233
|
-
return false;
|
|
234
|
-
const match = trimmed.match(OP_PATTERN);
|
|
235
|
-
if (!match) {
|
|
236
|
-
// No operator — treat as truthy test: non-empty string is true.
|
|
237
|
-
return parseValue(trimmed).trim().length > 0;
|
|
238
|
-
}
|
|
239
|
-
const op = match[1];
|
|
240
|
-
const idx = match.index;
|
|
241
|
-
const left = parseValue(trimmed.slice(0, idx).trim());
|
|
242
|
-
const right = parseValue(trimmed.slice(idx + op.length).trim());
|
|
243
|
-
if (op === '==')
|
|
244
|
-
return left === right;
|
|
245
|
-
if (op === '!=')
|
|
246
|
-
return left !== right;
|
|
247
|
-
// Numeric comparisons require both sides to be parseable as numbers.
|
|
248
|
-
const ln = Number(left);
|
|
249
|
-
const rn = Number(right);
|
|
250
|
-
if (!Number.isFinite(ln) || !Number.isFinite(rn))
|
|
251
|
-
return false;
|
|
252
|
-
switch (op) {
|
|
253
|
-
case '<': return ln < rn;
|
|
254
|
-
case '>': return ln > rn;
|
|
255
|
-
case '<=': return ln <= rn;
|
|
256
|
-
case '>=': return ln >= rn;
|
|
257
|
-
}
|
|
258
|
-
return false;
|
|
259
|
-
}
|
|
260
|
-
function parseValue(s) {
|
|
261
|
-
if (s.length >= 2) {
|
|
262
|
-
const first = s[0];
|
|
263
|
-
const last = s[s.length - 1];
|
|
264
|
-
if ((first === "'" && last === "'") || (first === '"' && last === '"')) {
|
|
265
|
-
return s.slice(1, -1);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
return s;
|
|
269
|
-
}
|
|
270
|
-
// ---------------------------------------------------------------------------
|
|
271
|
-
// Shell escaping helpers
|
|
272
|
-
// ---------------------------------------------------------------------------
|
|
273
|
-
function shellSingleQuote(s) {
|
|
274
|
-
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
275
|
-
}
|
|
276
|
-
function shellEscape(s) {
|
|
277
|
-
// Escape spaces and shell metachars for the `cat` argument.
|
|
278
|
-
if (/^[A-Za-z0-9_./@:+-]+$/.test(s))
|
|
279
|
-
return s;
|
|
280
|
-
return shellSingleQuote(s);
|
|
281
|
-
}
|
|
282
|
-
//# sourceMappingURL=condition-evaluator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../src/workflows/condition-evaluator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDH,wCAgGC;AAaD,8CAuBC;AAzLD,uCAAyB;AACzB,2CAA6B;AAE7B,MAAa,cAAe,SAAQ,KAAK;IACpB;IAAnB,YAAmB,GAAW,EAAE,OAAe;QAC7C,KAAK,CAAC,cAAc,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;QADvB,QAAG,GAAH,GAAG,CAAQ;QAE5B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAgCD,0FAA0F;AAC1F,MAAM,WAAW,GAAG,6GAA6G,CAAC;AAElI,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1C;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,QAAgB,EAChB,GAAwB,EACxB,OAA+C,EAAE;IAEjD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,IAAI,uBAAuB,CAAC;IAEhE,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAClE,8EAA8E;QAC9E,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,yDAAyD;YACzD,IAAI,IAAI,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACpB,MAAM,IAAI,cAAc,CACtB,KAAK,EACL,UAAU,MAAM,iCAAiC,CAClD,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,qCAAqC;YACrC,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC;YAC9B,2EAA2E;QAC7E,CAAC;QAED,iEAAiE;QACjE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,+EAA+E;YAC/E,sEAAsE;YACtE,uDAAuD;YACvD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACvC,MAAM,IAAI,cAAc,CACtB,KAAK,EACL,2CAA2C,MAAM,GAAG,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,cAAc,CACtB,KAAK,EACL,SAAS,IAAI,6DAA6D,CAC3E,CAAC;QACJ,CAAC;QAED,IAAI,KAAc,CAAC;QACnB,IAAI,KAAK,EAAE,CAAC;YACV,kEAAkE;YAClE,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC5D,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC5D,KAAK,GAAI,MAAkC,CAAC,KAAK,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,cAAc,CACtB,KAAK,EACL,UAAU,KAAK,wBAAwB,IAAI,UAAU,CACtD,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,cAAc;wBAAE,MAAM,GAAG,CAAC;oBAC7C,MAAM,IAAI,cAAc,CACtB,KAAK,EACL,SAAS,IAAI,uDAAuD,KAAK,GAAG,CAC7E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3E,oEAAoE;QACpE,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;YACjH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtC,OAAO,UAAU,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,0EAA0E;YAC1E,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,GAAwB;IAExB,2EAA2E;IAC3E,wEAAwE;IACxE,6BAA6B;IAC7B,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,0DAA0D;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAE9E,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,GAAW;IAC9C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC;aAC7C,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC;QACvD,IAAI,QAAQ,IAAI,QAAQ;YAAE,SAAS;QACnC,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACnB,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;YACtB,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,gEAAgE;QAChE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAM,CAAC;IACzB,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhE,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,KAAK,KAAK,CAAC;IACvC,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,KAAK,KAAK,CAAC;IAEvC,qEAAqE;IACrE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACzB,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,CAAS;IACjC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,4DAA4D;IAC5D,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bundled default workflows.
|
|
3
|
-
*
|
|
4
|
-
* Workflow YAMLs are stored as `.yaml` files in this directory and
|
|
5
|
-
* compile-time embedded by reading them at build time. We don't use a
|
|
6
|
-
* code-generator (matches the rest of the codebase that avoids generated
|
|
7
|
-
* files); instead, the build's `copy-assets` script copies the .yaml
|
|
8
|
-
* files into `dist/workflows/defaults/`, and this module reads them at
|
|
9
|
-
* import time from `__dirname`.
|
|
10
|
-
*
|
|
11
|
-
* Bundled workflows (v1):
|
|
12
|
-
* - spec-implement.yaml — implement an unimplemented spec
|
|
13
|
-
* - spec-fix.yaml — fix a drifted / broken link
|
|
14
|
-
* - spec-verify.yaml — run verification across `implemented` links
|
|
15
|
-
* - spec-relink.yaml — re-attach an orphaned link
|
|
16
|
-
*
|
|
17
|
-
* See workflow-discovery.ts for the three-tier precedence model.
|
|
18
|
-
*/
|
|
19
|
-
export interface BundledWorkflow {
|
|
20
|
-
/** Filename stem (no .yaml extension). */
|
|
21
|
-
name: string;
|
|
22
|
-
/** Raw YAML source. */
|
|
23
|
-
yaml: string;
|
|
24
|
-
}
|
|
25
|
-
export declare const bundledDefaults: BundledWorkflow[];
|
|
26
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflows/defaults/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AASD,eAAO,MAAM,eAAe,EAAE,eAAe,EAAmB,CAAC"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Bundled default workflows.
|
|
4
|
-
*
|
|
5
|
-
* Workflow YAMLs are stored as `.yaml` files in this directory and
|
|
6
|
-
* compile-time embedded by reading them at build time. We don't use a
|
|
7
|
-
* code-generator (matches the rest of the codebase that avoids generated
|
|
8
|
-
* files); instead, the build's `copy-assets` script copies the .yaml
|
|
9
|
-
* files into `dist/workflows/defaults/`, and this module reads them at
|
|
10
|
-
* import time from `__dirname`.
|
|
11
|
-
*
|
|
12
|
-
* Bundled workflows (v1):
|
|
13
|
-
* - spec-implement.yaml — implement an unimplemented spec
|
|
14
|
-
* - spec-fix.yaml — fix a drifted / broken link
|
|
15
|
-
* - spec-verify.yaml — run verification across `implemented` links
|
|
16
|
-
* - spec-relink.yaml — re-attach an orphaned link
|
|
17
|
-
*
|
|
18
|
-
* See workflow-discovery.ts for the three-tier precedence model.
|
|
19
|
-
*/
|
|
20
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
23
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
24
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
25
|
-
}
|
|
26
|
-
Object.defineProperty(o, k2, desc);
|
|
27
|
-
}) : (function(o, m, k, k2) {
|
|
28
|
-
if (k2 === undefined) k2 = k;
|
|
29
|
-
o[k2] = m[k];
|
|
30
|
-
}));
|
|
31
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
32
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
33
|
-
}) : function(o, v) {
|
|
34
|
-
o["default"] = v;
|
|
35
|
-
});
|
|
36
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
37
|
-
var ownKeys = function(o) {
|
|
38
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
39
|
-
var ar = [];
|
|
40
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
41
|
-
return ar;
|
|
42
|
-
};
|
|
43
|
-
return ownKeys(o);
|
|
44
|
-
};
|
|
45
|
-
return function (mod) {
|
|
46
|
-
if (mod && mod.__esModule) return mod;
|
|
47
|
-
var result = {};
|
|
48
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
49
|
-
__setModuleDefault(result, mod);
|
|
50
|
-
return result;
|
|
51
|
-
};
|
|
52
|
-
})();
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.bundledDefaults = void 0;
|
|
55
|
-
const fs = __importStar(require("fs"));
|
|
56
|
-
const path = __importStar(require("path"));
|
|
57
|
-
/**
|
|
58
|
-
* Lazy-loaded bundled defaults from `<dist|src>/workflows/defaults/*.yaml`.
|
|
59
|
-
* Populated on first read. Always re-reads from disk in tests where the
|
|
60
|
-
* file set may have been mutated; production callers call once at startup.
|
|
61
|
-
*/
|
|
62
|
-
let cached = null;
|
|
63
|
-
exports.bundledDefaults = loadDefaults();
|
|
64
|
-
function loadDefaults() {
|
|
65
|
-
if (cached)
|
|
66
|
-
return cached;
|
|
67
|
-
const out = [];
|
|
68
|
-
let entries;
|
|
69
|
-
try {
|
|
70
|
-
entries = fs.readdirSync(__dirname, { withFileTypes: true });
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
cached = [];
|
|
74
|
-
return cached;
|
|
75
|
-
}
|
|
76
|
-
for (const entry of entries) {
|
|
77
|
-
if (!entry.isFile())
|
|
78
|
-
continue;
|
|
79
|
-
const lower = entry.name.toLowerCase();
|
|
80
|
-
if (!lower.endsWith('.yaml') && !lower.endsWith('.yml'))
|
|
81
|
-
continue;
|
|
82
|
-
try {
|
|
83
|
-
const yaml = fs.readFileSync(path.join(__dirname, entry.name), 'utf-8');
|
|
84
|
-
const stem = entry.name.replace(/\.(ya?ml)$/i, '');
|
|
85
|
-
out.push({ name: stem, yaml });
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
// Skip unreadable files; discovery will surface the gap on next load.
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
cached = out;
|
|
92
|
-
return cached;
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflows/defaults/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAS7B;;;;GAIG;AACH,IAAI,MAAM,GAA6B,IAAI,CAAC;AAE/B,QAAA,eAAe,GAAsB,YAAY,EAAE,CAAC;AAEjE,SAAS,YAAY;IACnB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAClE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,CAAC;IACb,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
name: spec-fix
|
|
2
|
-
description: Fix a bug surfaced as a drifted/broken spec link. Diagnose → approve → fix → verify → re-verify link.
|
|
3
|
-
tags: [spec, default]
|
|
4
|
-
requires: [specship, git]
|
|
5
|
-
|
|
6
|
-
worktree:
|
|
7
|
-
enabled: true
|
|
8
|
-
|
|
9
|
-
inputs:
|
|
10
|
-
- name: SPEC_ID
|
|
11
|
-
description: The spec ID with the drifted or broken link
|
|
12
|
-
required: true
|
|
13
|
-
|
|
14
|
-
systemPromptAppend: |
|
|
15
|
-
You are fixing code so a spec's link returns to "verified" state.
|
|
16
|
-
Call specship_spec($INPUT.SPEC_ID) first to see the current state and
|
|
17
|
-
drift_axis. After fixing, call specship_link_verify({result: "pass"})
|
|
18
|
-
on each affected link before reporting done.
|
|
19
|
-
|
|
20
|
-
nodes:
|
|
21
|
-
- id: diagnose
|
|
22
|
-
kind: prompt
|
|
23
|
-
output_type: diagnosis
|
|
24
|
-
allowed_tools:
|
|
25
|
-
- mcp__specship__specship_spec
|
|
26
|
-
- mcp__specship__specship_node
|
|
27
|
-
- mcp__specship__specship_explore
|
|
28
|
-
- Read
|
|
29
|
-
prompt: |
|
|
30
|
-
Spec ID: $INPUT.SPEC_ID
|
|
31
|
-
|
|
32
|
-
Call specship_spec to inspect this spec's current state. Look at:
|
|
33
|
-
- which linked_code entries are drifted, broken, or orphaned
|
|
34
|
-
- their drift_axis (spec → spec body changed; code → code changed)
|
|
35
|
-
- the spec body itself
|
|
36
|
-
|
|
37
|
-
Output: (a) which links are out-of-spec, (b) for each, what likely
|
|
38
|
-
broke (code refactor, signature change, spec edit), and (c) a
|
|
39
|
-
proposed fix.
|
|
40
|
-
|
|
41
|
-
- id: approve_fix
|
|
42
|
-
kind: approval
|
|
43
|
-
depends_on: [diagnose]
|
|
44
|
-
message: |
|
|
45
|
-
Diagnosis for $INPUT.SPEC_ID:
|
|
46
|
-
|
|
47
|
-
$diagnose.output
|
|
48
|
-
|
|
49
|
-
Approve to apply the proposed fix, or reject with guidance.
|
|
50
|
-
capture_response: true
|
|
51
|
-
|
|
52
|
-
- id: apply
|
|
53
|
-
kind: prompt
|
|
54
|
-
depends_on: [approve_fix]
|
|
55
|
-
output_type: diff
|
|
56
|
-
allowed_tools:
|
|
57
|
-
- Read
|
|
58
|
-
- Edit
|
|
59
|
-
- Write
|
|
60
|
-
- Bash
|
|
61
|
-
- mcp__specship__specship_node
|
|
62
|
-
- mcp__specship__specship_spec
|
|
63
|
-
prompt: |
|
|
64
|
-
Apply the fix proposed in the diagnosis. Follow any guidance from
|
|
65
|
-
the reviewer.
|
|
66
|
-
|
|
67
|
-
Diagnosis:
|
|
68
|
-
$diagnose.output
|
|
69
|
-
|
|
70
|
-
Reviewer feedback (if any):
|
|
71
|
-
$approve_fix.output
|
|
72
|
-
|
|
73
|
-
Output: a short list of files changed.
|
|
74
|
-
|
|
75
|
-
- id: verify
|
|
76
|
-
kind: bash
|
|
77
|
-
depends_on: [apply]
|
|
78
|
-
output_type: test_results
|
|
79
|
-
timeout: 600000
|
|
80
|
-
bash: |
|
|
81
|
-
if [ -f package.json ]; then
|
|
82
|
-
npm test
|
|
83
|
-
elif [ -f Cargo.toml ]; then
|
|
84
|
-
cargo test
|
|
85
|
-
elif [ -f pyproject.toml ] || [ -f requirements.txt ]; then
|
|
86
|
-
python -m pytest
|
|
87
|
-
else
|
|
88
|
-
echo "no recognised test framework; skipping"
|
|
89
|
-
fi
|
|
90
|
-
|
|
91
|
-
- id: link_verify
|
|
92
|
-
kind: prompt
|
|
93
|
-
depends_on: [verify]
|
|
94
|
-
output_type: link_summary
|
|
95
|
-
allowed_tools:
|
|
96
|
-
- mcp__specship__specship_spec
|
|
97
|
-
- mcp__specship__specship_link_assert
|
|
98
|
-
- mcp__specship__specship_link_verify
|
|
99
|
-
prompt: |
|
|
100
|
-
For each link that was drifted/broken on $INPUT.SPEC_ID, now that
|
|
101
|
-
the fix has been applied and tests pass, call specship_link_verify
|
|
102
|
-
with result="pass" (or "fail" if a test failed for that link).
|
|
103
|
-
|
|
104
|
-
If a link is orphaned because the symbol moved, call
|
|
105
|
-
specship_link_assert at the new location.
|
|
106
|
-
|
|
107
|
-
Test results:
|
|
108
|
-
$verify.output
|
|
109
|
-
|
|
110
|
-
Output: one line per link with the new state.
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
name: spec-implement
|
|
2
|
-
description: Implement an unimplemented spec. Plan → review → implement → verify → link → review → done.
|
|
3
|
-
tags: [spec, default]
|
|
4
|
-
requires: [specship, git]
|
|
5
|
-
|
|
6
|
-
worktree:
|
|
7
|
-
enabled: true
|
|
8
|
-
|
|
9
|
-
inputs:
|
|
10
|
-
- name: SPEC_ID
|
|
11
|
-
description: The spec ID to implement (e.g. REQ-AUTH-005)
|
|
12
|
-
required: true
|
|
13
|
-
|
|
14
|
-
systemPromptAppend: |
|
|
15
|
-
You are implementing a specific requirement. Before editing code, call
|
|
16
|
-
specship_spec($INPUT.SPEC_ID) to see the spec body and any code it
|
|
17
|
-
already links to. After editing, call specship_link_assert with the
|
|
18
|
-
spec_id and the symbol you implemented BEFORE reporting done.
|
|
19
|
-
|
|
20
|
-
nodes:
|
|
21
|
-
- id: fetch_spec
|
|
22
|
-
kind: prompt
|
|
23
|
-
output_type: spec_summary
|
|
24
|
-
allowed_tools:
|
|
25
|
-
- mcp__specship__specship_spec
|
|
26
|
-
- mcp__specship__specship_explore
|
|
27
|
-
prompt: |
|
|
28
|
-
Spec ID: $INPUT.SPEC_ID
|
|
29
|
-
|
|
30
|
-
Call specship_spec to fetch the spec. Then call specship_explore on
|
|
31
|
-
a small bag of terms drawn from the spec title and acceptance
|
|
32
|
-
criteria to find the relevant code area.
|
|
33
|
-
|
|
34
|
-
Output: a short summary (≤300 words) of (a) what the spec asks for,
|
|
35
|
-
(b) which code areas / symbols are most relevant, and (c) whether
|
|
36
|
-
any code currently claims to implement it (look at linked_code).
|
|
37
|
-
|
|
38
|
-
- id: plan
|
|
39
|
-
kind: prompt
|
|
40
|
-
depends_on: [fetch_spec]
|
|
41
|
-
output_type: plan
|
|
42
|
-
allowed_tools:
|
|
43
|
-
- mcp__specship__specship_explore
|
|
44
|
-
- mcp__specship__specship_node
|
|
45
|
-
- mcp__specship__specship_spec
|
|
46
|
-
- Read
|
|
47
|
-
prompt: |
|
|
48
|
-
Based on this spec summary, write a concrete implementation plan:
|
|
49
|
-
|
|
50
|
-
$fetch_spec.output
|
|
51
|
-
|
|
52
|
-
The plan should list:
|
|
53
|
-
- Files to create or modify (with project-relative paths)
|
|
54
|
-
- Specific functions/methods/classes to add or change
|
|
55
|
-
- Tests to add or update
|
|
56
|
-
- Order of changes
|
|
57
|
-
|
|
58
|
-
Keep it tight (≤500 words). Do NOT edit code in this step.
|
|
59
|
-
|
|
60
|
-
- id: approve_plan
|
|
61
|
-
kind: approval
|
|
62
|
-
depends_on: [plan]
|
|
63
|
-
message: |
|
|
64
|
-
Plan ready for $INPUT.SPEC_ID. Review the plan output and approve
|
|
65
|
-
to proceed with implementation, or reject with feedback to revise.
|
|
66
|
-
capture_response: true
|
|
67
|
-
on_reject:
|
|
68
|
-
prompt: |
|
|
69
|
-
The plan was rejected with this feedback. Revise:
|
|
70
|
-
|
|
71
|
-
$approve_plan.output
|
|
72
|
-
max_attempts: 3
|
|
73
|
-
|
|
74
|
-
- id: implement
|
|
75
|
-
kind: prompt
|
|
76
|
-
depends_on: [approve_plan]
|
|
77
|
-
output_type: diff
|
|
78
|
-
allowed_tools:
|
|
79
|
-
- Read
|
|
80
|
-
- Edit
|
|
81
|
-
- Write
|
|
82
|
-
- Bash
|
|
83
|
-
- mcp__specship__specship_explore
|
|
84
|
-
- mcp__specship__specship_node
|
|
85
|
-
- mcp__specship__specship_spec
|
|
86
|
-
prompt: |
|
|
87
|
-
Implement the approved plan. Follow it closely.
|
|
88
|
-
|
|
89
|
-
Plan:
|
|
90
|
-
$plan.output
|
|
91
|
-
|
|
92
|
-
Approval feedback (if any):
|
|
93
|
-
$approve_plan.output
|
|
94
|
-
|
|
95
|
-
When done, output a short diff summary (which files changed and why).
|
|
96
|
-
|
|
97
|
-
- id: verify
|
|
98
|
-
kind: bash
|
|
99
|
-
depends_on: [implement]
|
|
100
|
-
output_type: test_results
|
|
101
|
-
timeout: 600000
|
|
102
|
-
bash: |
|
|
103
|
-
# Run the project's test suite. The verify node's exit code drives
|
|
104
|
-
# the gating for the link node — non-zero halts the workflow.
|
|
105
|
-
if [ -f package.json ]; then
|
|
106
|
-
npm test
|
|
107
|
-
elif [ -f Cargo.toml ]; then
|
|
108
|
-
cargo test
|
|
109
|
-
elif [ -f pyproject.toml ] || [ -f requirements.txt ]; then
|
|
110
|
-
python -m pytest
|
|
111
|
-
else
|
|
112
|
-
echo "no recognised test framework; skipping"
|
|
113
|
-
fi
|
|
114
|
-
|
|
115
|
-
- id: link
|
|
116
|
-
kind: prompt
|
|
117
|
-
depends_on: [verify]
|
|
118
|
-
output_type: link_summary
|
|
119
|
-
allowed_tools:
|
|
120
|
-
- mcp__specship__specship_link_assert
|
|
121
|
-
- mcp__specship__specship_link_verify
|
|
122
|
-
- mcp__specship__specship_spec
|
|
123
|
-
prompt: |
|
|
124
|
-
Assert spec→code links for the changes made in the implement step.
|
|
125
|
-
For each symbol that implements $INPUT.SPEC_ID (or its child
|
|
126
|
-
requirements), call specship_link_assert with the spec_id, the
|
|
127
|
-
file path, and the qualified symbol name. After each assert, if
|
|
128
|
-
tests passed in the verify step, call specship_link_verify with
|
|
129
|
-
result="pass".
|
|
130
|
-
|
|
131
|
-
Implementation diff summary:
|
|
132
|
-
$implement.output
|
|
133
|
-
|
|
134
|
-
Test results:
|
|
135
|
-
$verify.output
|
|
136
|
-
|
|
137
|
-
Output: a short list of "spec_id → file:symbol [verified|implemented]"
|
|
138
|
-
lines.
|
|
139
|
-
|
|
140
|
-
- id: final_review
|
|
141
|
-
kind: approval
|
|
142
|
-
depends_on: [link]
|
|
143
|
-
message: |
|
|
144
|
-
Implementation complete for $INPUT.SPEC_ID.
|
|
145
|
-
|
|
146
|
-
Links asserted:
|
|
147
|
-
$link.output
|
|
148
|
-
|
|
149
|
-
Approve to finalize the run (worktree is left for you to inspect
|
|
150
|
-
and merge), or reject to abandon.
|