@opengsd/gsd-pi 1.1.1-dev.b2556262 → 1.2.0-dev.844675c9
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/dist/project-sessions.js +4 -2
- package/dist/resources/.managed-resources-content-hash +1 -1
- package/dist/resources/extensions/claude-code-cli/stream-adapter.js +17 -9
- package/dist/resources/extensions/gsd/auto/contracts.js +8 -1
- package/dist/resources/extensions/gsd/auto/orchestrator.js +659 -57
- package/dist/resources/extensions/gsd/auto-prompts.js +110 -1
- package/dist/resources/extensions/gsd/auto-runtime-state.js +3 -0
- package/dist/resources/extensions/gsd/auto-tool-tracking.js +5 -0
- package/dist/resources/extensions/gsd/auto-unit-tool-scope.js +29 -0
- package/dist/resources/extensions/gsd/auto-worktree.js +24 -17
- package/dist/resources/extensions/gsd/auto.js +62 -464
- package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +4 -1
- package/dist/resources/extensions/gsd/debug-logger.js +10 -0
- package/dist/resources/extensions/gsd/doctor-proactive.js +7 -2
- package/dist/resources/extensions/gsd/guided-flow.js +2 -2
- package/dist/resources/extensions/gsd/markdown-renderer.js +31 -32
- package/dist/resources/extensions/gsd/mcp-filter.js +6 -0
- package/dist/resources/extensions/gsd/native-git-bridge.js +45 -0
- package/dist/resources/extensions/gsd/prompts/discuss.md +6 -7
- package/dist/resources/extensions/gsd/prompts/guided-discuss-milestone.md +5 -7
- package/dist/resources/extensions/gsd/prompts/guided-discuss-project.md +3 -5
- package/dist/resources/extensions/gsd/prompts/guided-discuss-requirements.md +1 -2
- package/dist/resources/extensions/gsd/prompts/guided-discuss-slice.md +5 -6
- package/dist/resources/extensions/gsd/prompts/plan-slice.md +1 -1
- package/dist/resources/extensions/gsd/prompts/research-milestone.md +2 -2
- package/dist/resources/extensions/gsd/prompts/validate-milestone.md +5 -3
- package/dist/resources/extensions/gsd/schemas/parsers.js +6 -1
- package/dist/resources/extensions/gsd/state-reconciliation/drift/artifact-db.js +21 -1
- package/dist/resources/extensions/gsd/tools/workflow-tool-executors.js +169 -20
- package/dist/resources/extensions/gsd/user-input-boundary.js +42 -4
- package/dist/tsconfig.extensions.tsbuildinfo +1 -0
- package/dist/web/standalone/.next/BUILD_ID +1 -1
- package/dist/web/standalone/.next/app-path-routes-manifest.json +8 -8
- package/dist/web/standalone/.next/build-manifest.json +2 -2
- package/dist/web/standalone/.next/prerender-manifest.json +3 -3
- package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/api/boot/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/captures/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/cleanup/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/doctor/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/export-data/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/forensics/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/hooks/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/inspect/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/knowledge/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/live-state/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/mcp-connections/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/recovery/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/browser/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/command/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/events/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/manage/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/settings-data/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/shutdown/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/skill-health/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/steer/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/switch-root/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/undo/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/visualizer/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/index.html +1 -1
- package/dist/web/standalone/.next/server/app/index.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app-paths-manifest.json +8 -8
- package/dist/web/standalone/.next/server/chunks/5047.js +2 -0
- package/dist/web/standalone/.next/server/chunks/5124.js +1 -0
- package/dist/web/standalone/.next/server/chunks/8357.js +2 -2
- package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/web/standalone/.next/server/pages/404.html +1 -1
- package/dist/web/standalone/.next/server/pages/500.html +1 -1
- package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/web/standalone/node_modules/@gsd/native/package.json +1 -1
- package/dist/web/standalone/node_modules/node-pty/build/Makefile +1 -1
- package/dist/web/standalone/node_modules/postcss/lib/container.js +26 -18
- package/dist/web/standalone/node_modules/postcss/lib/css-syntax-error.js +47 -14
- package/dist/web/standalone/node_modules/postcss/lib/declaration.js +4 -4
- package/dist/web/standalone/node_modules/postcss/lib/fromJSON.js +3 -3
- package/dist/web/standalone/node_modules/postcss/lib/input.js +54 -29
- package/dist/web/standalone/node_modules/postcss/lib/lazy-result.js +47 -37
- package/dist/web/standalone/node_modules/postcss/lib/map-generator.js +26 -9
- package/dist/web/standalone/node_modules/postcss/lib/no-work-result.js +57 -55
- package/dist/web/standalone/node_modules/postcss/lib/node.js +99 -31
- package/dist/web/standalone/node_modules/postcss/lib/parse.js +1 -1
- package/dist/web/standalone/node_modules/postcss/lib/parser.js +10 -9
- package/dist/web/standalone/node_modules/postcss/lib/postcss.js +12 -12
- package/dist/web/standalone/node_modules/postcss/lib/previous-map.js +30 -11
- package/dist/web/standalone/node_modules/postcss/lib/processor.js +7 -7
- package/dist/web/standalone/node_modules/postcss/lib/result.js +5 -5
- package/dist/web/standalone/node_modules/postcss/lib/rule.js +6 -6
- package/dist/web/standalone/node_modules/postcss/lib/stringifier.js +69 -28
- package/dist/web/standalone/node_modules/postcss/lib/tokenize.js +6 -2
- package/dist/web/standalone/node_modules/postcss/package.json +48 -48
- package/package.json +16 -11
- package/packages/cloud-mcp-gateway/package.json +2 -2
- package/packages/contracts/package.json +1 -1
- package/packages/daemon/package.json +4 -4
- package/packages/gsd-agent-core/package.json +5 -5
- package/packages/gsd-agent-modes/dist/modes/interactive/components/transcript-design.js +1 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/transcript-design.js.map +1 -1
- package/packages/gsd-agent-modes/package.json +7 -7
- package/packages/mcp-server/package.json +3 -3
- package/packages/native/package.json +1 -1
- package/packages/pi-agent-core/package.json +1 -1
- package/packages/pi-ai/dist/models.generated.d.ts +0 -34
- package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
- package/packages/pi-ai/dist/models.generated.js +12 -46
- package/packages/pi-ai/dist/models.generated.js.map +1 -1
- package/packages/pi-ai/package.json +1 -1
- package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/auth-storage.js +11 -3
- package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
- package/packages/pi-coding-agent/package.json +7 -7
- package/packages/pi-tui/package.json +2 -2
- package/packages/rpc-client/package.json +2 -2
- package/pkg/package.json +1 -1
- package/scripts/install/deps.js +10 -0
- package/scripts/link-workspace-packages.cjs +7 -40
- package/src/resources/extensions/claude-code-cli/stream-adapter.ts +18 -8
- package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +2 -2
- package/src/resources/extensions/gsd/auto/contracts.ts +8 -119
- package/src/resources/extensions/gsd/auto/orchestrator.ts +794 -58
- package/src/resources/extensions/gsd/auto-prompts.ts +114 -1
- package/src/resources/extensions/gsd/auto-runtime-state.ts +4 -0
- package/src/resources/extensions/gsd/auto-tool-tracking.ts +5 -0
- package/src/resources/extensions/gsd/auto-unit-tool-scope.ts +33 -0
- package/src/resources/extensions/gsd/auto-worktree.ts +24 -16
- package/src/resources/extensions/gsd/auto.ts +81 -500
- package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +4 -0
- package/src/resources/extensions/gsd/debug-logger.ts +11 -0
- package/src/resources/extensions/gsd/doctor-proactive.ts +8 -2
- package/src/resources/extensions/gsd/guided-flow.ts +2 -2
- package/src/resources/extensions/gsd/markdown-renderer.ts +38 -19
- package/src/resources/extensions/gsd/mcp-filter.ts +7 -0
- package/src/resources/extensions/gsd/native-git-bridge.ts +48 -0
- package/src/resources/extensions/gsd/prompts/discuss.md +6 -7
- package/src/resources/extensions/gsd/prompts/guided-discuss-milestone.md +5 -7
- package/src/resources/extensions/gsd/prompts/guided-discuss-project.md +3 -5
- package/src/resources/extensions/gsd/prompts/guided-discuss-requirements.md +1 -2
- package/src/resources/extensions/gsd/prompts/guided-discuss-slice.md +5 -6
- package/src/resources/extensions/gsd/prompts/plan-slice.md +1 -1
- package/src/resources/extensions/gsd/prompts/research-milestone.md +2 -2
- package/src/resources/extensions/gsd/prompts/validate-milestone.md +5 -3
- package/src/resources/extensions/gsd/schemas/parsers.ts +6 -1
- package/src/resources/extensions/gsd/state-reconciliation/drift/artifact-db.ts +31 -10
- package/src/resources/extensions/gsd/tests/artifact-db-drift-memo.test.ts +66 -0
- package/src/resources/extensions/gsd/tests/auto-dispatch-baseline-harness.test.ts +53 -0
- package/src/resources/extensions/gsd/tests/auto-orchestrator.test.ts +590 -855
- package/src/resources/extensions/gsd/tests/auto-paused-ui-cleanup.test.ts +38 -10
- package/src/resources/extensions/gsd/tests/debug-logger.test.ts +15 -0
- package/src/resources/extensions/gsd/tests/execute-summary-save-empty-project.test.ts +64 -1
- package/src/resources/extensions/gsd/tests/integration/merge-strategy-regular.test.ts +157 -0
- package/src/resources/extensions/gsd/tests/markdown-renderer-parse-cache.test.ts +75 -0
- package/src/resources/extensions/gsd/tests/native-merge-regular.test.ts +139 -0
- package/src/resources/extensions/gsd/tests/orchestrator-legacy-parity.test.ts +127 -0
- package/src/resources/extensions/gsd/tests/parse-project-milestone-bridge.test.ts +77 -0
- package/src/resources/extensions/gsd/tests/plan-slice-prompt.test.ts +4 -2
- package/src/resources/extensions/gsd/tests/prompt-contracts.test.ts +29 -2
- package/src/resources/extensions/gsd/tests/research-milestone-composer.test.ts +65 -0
- package/src/resources/extensions/gsd/tests/start-auto-detached.test.ts +19 -5
- package/src/resources/extensions/gsd/tests/token-tool-gating.test.ts +38 -0
- package/src/resources/extensions/gsd/tests/user-input-boundary.test.ts +62 -0
- package/src/resources/extensions/gsd/tests/worktree-safety.test.ts +24 -0
- package/src/resources/extensions/gsd/tests/write-gate-planning-unit.test.ts +15 -3
- package/src/resources/extensions/gsd/tools/workflow-tool-executors.ts +183 -21
- package/src/resources/extensions/gsd/user-input-boundary.ts +37 -5
- package/dist/web/standalone/.next/server/chunks/678.js +0 -2
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/gsd-widget-prototype.d.ts +0 -21
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/gsd-widget-prototype.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/gsd-widget-prototype.js +0 -213
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/gsd-widget-prototype.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-density-prototype.d.ts +0 -28
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-density-prototype.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-density-prototype.js +0 -249
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-density-prototype.js.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-design-prototype.d.ts +0 -19
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-design-prototype.d.ts.map +0 -1
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-design-prototype.js +0 -797
- package/packages/gsd-agent-modes/dist/modes/interactive/components/__prototype__/transcript-design-prototype.js.map +0 -1
- package/scripts/ensure-workspace-builds.cjs +0 -129
- /package/dist/web/standalone/.next/static/{tJOKQbQRO-9MiFDO8DIDS → Qbr81pQ-pbQXP4bq2VXLv}/_buildManifest.js +0 -0
- /package/dist/web/standalone/.next/static/{tJOKQbQRO-9MiFDO8DIDS → Qbr81pQ-pbQXP4bq2VXLv}/_ssgManifest.js +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
let NoWorkResult = require('./no-work-result')
|
|
4
|
-
let LazyResult = require('./lazy-result')
|
|
5
3
|
let Document = require('./document')
|
|
4
|
+
let LazyResult = require('./lazy-result')
|
|
5
|
+
let NoWorkResult = require('./no-work-result')
|
|
6
6
|
let Root = require('./root')
|
|
7
7
|
|
|
8
8
|
class Processor {
|
|
9
9
|
constructor(plugins = []) {
|
|
10
|
-
this.version = '8.
|
|
10
|
+
this.version = '8.5.12'
|
|
11
11
|
this.plugins = this.normalize(plugins)
|
|
12
12
|
}
|
|
13
13
|
|
|
@@ -43,10 +43,10 @@ class Processor {
|
|
|
43
43
|
|
|
44
44
|
process(css, opts = {}) {
|
|
45
45
|
if (
|
|
46
|
-
this.plugins.length
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
!this.plugins.length &&
|
|
47
|
+
!opts.parser &&
|
|
48
|
+
!opts.stringifier &&
|
|
49
|
+
!opts.syntax
|
|
50
50
|
) {
|
|
51
51
|
return new NoWorkResult(this, css, opts)
|
|
52
52
|
} else {
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
let Warning = require('./warning')
|
|
4
4
|
|
|
5
5
|
class Result {
|
|
6
|
+
get content() {
|
|
7
|
+
return this.css
|
|
8
|
+
}
|
|
9
|
+
|
|
6
10
|
constructor(processor, root, opts) {
|
|
7
11
|
this.processor = processor
|
|
8
12
|
this.messages = []
|
|
9
13
|
this.root = root
|
|
10
14
|
this.opts = opts
|
|
11
|
-
this.css =
|
|
15
|
+
this.css = ''
|
|
12
16
|
this.map = undefined
|
|
13
17
|
}
|
|
14
18
|
|
|
@@ -32,10 +36,6 @@ class Result {
|
|
|
32
36
|
warnings() {
|
|
33
37
|
return this.messages.filter(i => i.type === 'warning')
|
|
34
38
|
}
|
|
35
|
-
|
|
36
|
-
get content() {
|
|
37
|
-
return this.css
|
|
38
|
-
}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
module.exports = Result
|
|
@@ -4,12 +4,6 @@ let Container = require('./container')
|
|
|
4
4
|
let list = require('./list')
|
|
5
5
|
|
|
6
6
|
class Rule extends Container {
|
|
7
|
-
constructor(defaults) {
|
|
8
|
-
super(defaults)
|
|
9
|
-
this.type = 'rule'
|
|
10
|
-
if (!this.nodes) this.nodes = []
|
|
11
|
-
}
|
|
12
|
-
|
|
13
7
|
get selectors() {
|
|
14
8
|
return list.comma(this.selector)
|
|
15
9
|
}
|
|
@@ -19,6 +13,12 @@ class Rule extends Container {
|
|
|
19
13
|
let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')
|
|
20
14
|
this.selector = values.join(sep)
|
|
21
15
|
}
|
|
16
|
+
|
|
17
|
+
constructor(defaults) {
|
|
18
|
+
super(defaults)
|
|
19
|
+
this.type = 'rule'
|
|
20
|
+
if (!this.nodes) this.nodes = []
|
|
21
|
+
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
module.exports = Rule
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
// Escapes sequences that could break out of an HTML <style> context.
|
|
4
|
+
// Uses CSS unicode escaping (\3c = '<') which is valid CSS and parsed
|
|
5
|
+
// correctly by all compliant CSS consumers.
|
|
6
|
+
const STYLE_TAG = /(<)(\/?style\b)/gi
|
|
7
|
+
const COMMENT_OPEN = /(<)(!--)/g
|
|
8
|
+
|
|
9
|
+
function escapeHTMLInCSS(str) {
|
|
10
|
+
if (typeof str !== 'string') return str
|
|
11
|
+
if (!str.includes('<')) return str
|
|
12
|
+
return str.replace(STYLE_TAG, '\\3c $2').replace(COMMENT_OPEN, '\\3c $2')
|
|
13
|
+
}
|
|
14
|
+
|
|
3
15
|
const DEFAULT_RAW = {
|
|
4
16
|
after: '\n',
|
|
5
17
|
beforeClose: '\n',
|
|
@@ -25,11 +37,12 @@ class Stringifier {
|
|
|
25
37
|
}
|
|
26
38
|
|
|
27
39
|
atrule(node, semicolon) {
|
|
40
|
+
let raws = node.raws
|
|
28
41
|
let name = '@' + node.name
|
|
29
42
|
let params = node.params ? this.rawValue(node, 'params') : ''
|
|
30
43
|
|
|
31
|
-
if (typeof
|
|
32
|
-
name +=
|
|
44
|
+
if (typeof raws.afterName !== 'undefined') {
|
|
45
|
+
name += raws.afterName
|
|
33
46
|
} else if (params) {
|
|
34
47
|
name += ' '
|
|
35
48
|
}
|
|
@@ -37,8 +50,8 @@ class Stringifier {
|
|
|
37
50
|
if (node.nodes) {
|
|
38
51
|
this.block(node, name + params)
|
|
39
52
|
} else {
|
|
40
|
-
let end = (
|
|
41
|
-
this.builder(name + params + end, node)
|
|
53
|
+
let end = (raws.between || '') + (semicolon ? ';' : '')
|
|
54
|
+
this.builder(escapeHTMLInCSS(name + params + end), node)
|
|
42
55
|
}
|
|
43
56
|
}
|
|
44
57
|
|
|
@@ -72,53 +85,77 @@ class Stringifier {
|
|
|
72
85
|
}
|
|
73
86
|
|
|
74
87
|
block(node, start) {
|
|
75
|
-
let
|
|
76
|
-
|
|
88
|
+
let raws = node.raws
|
|
89
|
+
let between = typeof raws.between !== 'undefined'
|
|
90
|
+
? raws.between
|
|
91
|
+
: this.raw(node, 'between', 'beforeOpen')
|
|
92
|
+
this.builder(escapeHTMLInCSS(start + between) + '{', node, 'start')
|
|
77
93
|
|
|
78
94
|
let after
|
|
79
95
|
if (node.nodes && node.nodes.length) {
|
|
80
96
|
this.body(node)
|
|
81
|
-
after =
|
|
97
|
+
after = typeof raws.after !== 'undefined'
|
|
98
|
+
? raws.after
|
|
99
|
+
: this.raw(node, 'after')
|
|
82
100
|
} else {
|
|
83
|
-
after =
|
|
101
|
+
after = typeof raws.after !== 'undefined'
|
|
102
|
+
? raws.after
|
|
103
|
+
: this.raw(node, 'after', 'emptyBody')
|
|
84
104
|
}
|
|
85
105
|
|
|
86
|
-
if (after) this.builder(after)
|
|
106
|
+
if (after) this.builder(escapeHTMLInCSS(after))
|
|
87
107
|
this.builder('}', node, 'end')
|
|
88
108
|
}
|
|
89
109
|
|
|
90
110
|
body(node) {
|
|
91
|
-
let
|
|
111
|
+
let nodes = node.nodes
|
|
112
|
+
let last = nodes.length - 1
|
|
92
113
|
while (last > 0) {
|
|
93
|
-
if (
|
|
114
|
+
if (nodes[last].type !== 'comment') break
|
|
94
115
|
last -= 1
|
|
95
116
|
}
|
|
96
117
|
|
|
97
118
|
let semicolon = this.raw(node, 'semicolon')
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
let
|
|
101
|
-
|
|
119
|
+
let isDocument = node.type === 'document'
|
|
120
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
121
|
+
let child = nodes[i]
|
|
122
|
+
let before = child.raws.before
|
|
123
|
+
if (typeof before === 'undefined') {
|
|
124
|
+
before = this.raw(child, 'before')
|
|
125
|
+
}
|
|
126
|
+
if (before) this.builder(isDocument ? before : escapeHTMLInCSS(before))
|
|
102
127
|
this.stringify(child, last !== i || semicolon)
|
|
103
128
|
}
|
|
104
129
|
}
|
|
105
130
|
|
|
106
131
|
comment(node) {
|
|
107
|
-
let
|
|
108
|
-
let
|
|
109
|
-
|
|
132
|
+
let raws = node.raws
|
|
133
|
+
let left = typeof raws.left !== 'undefined'
|
|
134
|
+
? raws.left
|
|
135
|
+
: this.raw(node, 'left', 'commentLeft')
|
|
136
|
+
let right = typeof raws.right !== 'undefined'
|
|
137
|
+
? raws.right
|
|
138
|
+
: this.raw(node, 'right', 'commentRight')
|
|
139
|
+
this.builder(escapeHTMLInCSS('/*' + left + node.text + right + '*/'), node)
|
|
110
140
|
}
|
|
111
141
|
|
|
112
142
|
decl(node, semicolon) {
|
|
113
|
-
let
|
|
114
|
-
let
|
|
143
|
+
let raws = node.raws
|
|
144
|
+
let between = typeof raws.between !== 'undefined'
|
|
145
|
+
? raws.between
|
|
146
|
+
: this.raw(node, 'between', 'colon')
|
|
147
|
+
|
|
148
|
+
let rawVal = raws.value
|
|
149
|
+
let value = rawVal && rawVal.value === node.value ? rawVal.raw : node.value
|
|
150
|
+
|
|
151
|
+
let string = node.prop + between + value
|
|
115
152
|
|
|
116
153
|
if (node.important) {
|
|
117
|
-
string +=
|
|
154
|
+
string += raws.important || ' !important'
|
|
118
155
|
}
|
|
119
156
|
|
|
120
157
|
if (semicolon) string += ';'
|
|
121
|
-
this.builder(string, node)
|
|
158
|
+
this.builder(escapeHTMLInCSS(string), node)
|
|
122
159
|
}
|
|
123
160
|
|
|
124
161
|
document(node) {
|
|
@@ -154,9 +191,9 @@ class Stringifier {
|
|
|
154
191
|
|
|
155
192
|
// Detect style by other nodes
|
|
156
193
|
let root = node.root()
|
|
157
|
-
|
|
158
|
-
if (typeof
|
|
159
|
-
return
|
|
194
|
+
let cache = root.rawCache || (root.rawCache = {})
|
|
195
|
+
if (typeof cache[detect] !== 'undefined') {
|
|
196
|
+
return cache[detect]
|
|
160
197
|
}
|
|
161
198
|
|
|
162
199
|
if (detect === 'before' || detect === 'after') {
|
|
@@ -175,7 +212,7 @@ class Stringifier {
|
|
|
175
212
|
|
|
176
213
|
if (typeof value === 'undefined') value = DEFAULT_RAW[detect]
|
|
177
214
|
|
|
178
|
-
|
|
215
|
+
cache[detect] = value
|
|
179
216
|
return value
|
|
180
217
|
}
|
|
181
218
|
|
|
@@ -324,13 +361,17 @@ class Stringifier {
|
|
|
324
361
|
|
|
325
362
|
root(node) {
|
|
326
363
|
this.body(node)
|
|
327
|
-
if (node.raws.after)
|
|
364
|
+
if (node.raws.after) {
|
|
365
|
+
let after = node.raws.after
|
|
366
|
+
let isDocument = node.parent && node.parent.type === 'document'
|
|
367
|
+
this.builder(isDocument ? after : escapeHTMLInCSS(after))
|
|
368
|
+
}
|
|
328
369
|
}
|
|
329
370
|
|
|
330
371
|
rule(node) {
|
|
331
372
|
this.block(node, this.rawValue(node, 'selector'))
|
|
332
373
|
if (node.raws.ownSemicolon) {
|
|
333
|
-
this.builder(node.raws.ownSemicolon, node, 'end')
|
|
374
|
+
this.builder(escapeHTMLInCSS(node.raws.ownSemicolon), node, 'end')
|
|
334
375
|
}
|
|
335
376
|
}
|
|
336
377
|
|
|
@@ -29,13 +29,14 @@ module.exports = function tokenizer(input, options = {}) {
|
|
|
29
29
|
let css = input.css.valueOf()
|
|
30
30
|
let ignore = options.ignoreErrors
|
|
31
31
|
|
|
32
|
-
let code,
|
|
33
|
-
let escaped, escapePos,
|
|
32
|
+
let code, content, escape, next, quote
|
|
33
|
+
let currentToken, escaped, escapePos, n, prev
|
|
34
34
|
|
|
35
35
|
let length = css.length
|
|
36
36
|
let pos = 0
|
|
37
37
|
let buffer = []
|
|
38
38
|
let returned = []
|
|
39
|
+
let lastBadParen = -1
|
|
39
40
|
|
|
40
41
|
function position() {
|
|
41
42
|
return pos
|
|
@@ -127,11 +128,14 @@ module.exports = function tokenizer(input, options = {}) {
|
|
|
127
128
|
currentToken = ['brackets', css.slice(pos, next + 1), pos, next]
|
|
128
129
|
|
|
129
130
|
pos = next
|
|
131
|
+
} else if (pos <= lastBadParen) {
|
|
132
|
+
currentToken = ['(', '(', pos]
|
|
130
133
|
} else {
|
|
131
134
|
next = css.indexOf(')', pos + 1)
|
|
132
135
|
content = css.slice(pos, next + 1)
|
|
133
136
|
|
|
134
137
|
if (next === -1 || RE_BAD_BRACKET.test(content)) {
|
|
138
|
+
lastBadParen = next === -1 ? length : next
|
|
135
139
|
currentToken = ['(', '(', pos]
|
|
136
140
|
} else {
|
|
137
141
|
currentToken = ['brackets', content, pos, next]
|
|
@@ -1,14 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postcss",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.5.12",
|
|
4
4
|
"description": "Tool for transforming styles with JS plugins",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"keywords": [
|
|
6
|
+
"css",
|
|
7
|
+
"manipulation",
|
|
8
|
+
"parser",
|
|
9
|
+
"postcss",
|
|
10
|
+
"preprocessor",
|
|
11
|
+
"rework",
|
|
12
|
+
"source map",
|
|
13
|
+
"transform",
|
|
14
|
+
"transpiler"
|
|
15
|
+
],
|
|
16
|
+
"homepage": "https://postcss.org/",
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/postcss/postcss/issues"
|
|
7
19
|
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"author": "Andrey Sitnik <andrey@sitnik.es>",
|
|
22
|
+
"repository": "postcss/postcss",
|
|
23
|
+
"funding": [
|
|
24
|
+
{
|
|
25
|
+
"type": "opencollective",
|
|
26
|
+
"url": "https://opencollective.com/postcss/"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "tidelift",
|
|
30
|
+
"url": "https://tidelift.com/funding/github/npm/postcss"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "github",
|
|
34
|
+
"url": "https://github.com/sponsors/ai"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"main": "./lib/postcss.js",
|
|
38
|
+
"browser": {
|
|
39
|
+
"./lib/terminal-highlight": false,
|
|
40
|
+
"source-map-js": false,
|
|
41
|
+
"path": false,
|
|
42
|
+
"url": false,
|
|
43
|
+
"fs": false
|
|
44
|
+
},
|
|
45
|
+
"types": "./lib/postcss.d.ts",
|
|
8
46
|
"exports": {
|
|
9
47
|
".": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
48
|
+
"import": "./lib/postcss.mjs",
|
|
49
|
+
"require": "./lib/postcss.js"
|
|
12
50
|
},
|
|
13
51
|
"./lib/at-rule": "./lib/at-rule.js",
|
|
14
52
|
"./lib/comment": "./lib/comment.js",
|
|
@@ -39,50 +77,12 @@
|
|
|
39
77
|
"./lib/warning": "./lib/warning.js",
|
|
40
78
|
"./package.json": "./package.json"
|
|
41
79
|
},
|
|
42
|
-
"main": "./lib/postcss.js",
|
|
43
|
-
"types": "./lib/postcss.d.ts",
|
|
44
|
-
"keywords": [
|
|
45
|
-
"css",
|
|
46
|
-
"postcss",
|
|
47
|
-
"rework",
|
|
48
|
-
"preprocessor",
|
|
49
|
-
"parser",
|
|
50
|
-
"source map",
|
|
51
|
-
"transform",
|
|
52
|
-
"manipulation",
|
|
53
|
-
"transpiler"
|
|
54
|
-
],
|
|
55
|
-
"funding": [
|
|
56
|
-
{
|
|
57
|
-
"type": "opencollective",
|
|
58
|
-
"url": "https://opencollective.com/postcss/"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"type": "tidelift",
|
|
62
|
-
"url": "https://tidelift.com/funding/github/npm/postcss"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"type": "github",
|
|
66
|
-
"url": "https://github.com/sponsors/ai"
|
|
67
|
-
}
|
|
68
|
-
],
|
|
69
|
-
"author": "Andrey Sitnik <andrey@sitnik.ru>",
|
|
70
|
-
"license": "MIT",
|
|
71
|
-
"homepage": "https://postcss.org/",
|
|
72
|
-
"repository": "postcss/postcss",
|
|
73
|
-
"bugs": {
|
|
74
|
-
"url": "https://github.com/postcss/postcss/issues"
|
|
75
|
-
},
|
|
76
80
|
"dependencies": {
|
|
77
|
-
"nanoid": "^3.3.
|
|
78
|
-
"picocolors": "^1.
|
|
79
|
-
"source-map-js": "^1.
|
|
81
|
+
"nanoid": "^3.3.11",
|
|
82
|
+
"picocolors": "^1.1.1",
|
|
83
|
+
"source-map-js": "^1.2.1"
|
|
80
84
|
},
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"source-map-js": false,
|
|
84
|
-
"path": false,
|
|
85
|
-
"url": false,
|
|
86
|
-
"fs": false
|
|
85
|
+
"engines": {
|
|
86
|
+
"node": "^10 || ^12 || >=14"
|
|
87
87
|
}
|
|
88
88
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengsd/gsd-pi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-dev.844675c9",
|
|
4
4
|
"description": "GSD Pi local-first coding agent",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
21
|
"dist",
|
|
22
|
-
"dist/web",
|
|
23
22
|
"packages/*/dist/**",
|
|
24
23
|
"packages/*/bin/**",
|
|
25
24
|
"packages/*/package.json",
|
|
@@ -30,12 +29,15 @@
|
|
|
30
29
|
"scripts/install.js",
|
|
31
30
|
"scripts/install",
|
|
32
31
|
"scripts/link-workspace-packages.cjs",
|
|
33
|
-
"scripts/ensure-workspace-builds.cjs",
|
|
34
32
|
"scripts/lib/workspace-manifest.cjs",
|
|
35
33
|
"scripts/lib/logo.cjs",
|
|
36
34
|
"package.json",
|
|
37
35
|
"README.md"
|
|
38
36
|
],
|
|
37
|
+
"publishConfig": {
|
|
38
|
+
"access": "public",
|
|
39
|
+
"provenance": true
|
|
40
|
+
},
|
|
39
41
|
"piConfig": {
|
|
40
42
|
"name": "gsd",
|
|
41
43
|
"configDir": ".gsd"
|
|
@@ -68,6 +70,8 @@
|
|
|
68
70
|
"copy-export-html": "node scripts/copy-export-html.cjs",
|
|
69
71
|
"test:compile": "node scripts/compile-tests.mjs",
|
|
70
72
|
"baseline:refactor": "node scripts/refactor-baseline.mjs",
|
|
73
|
+
"baseline:auto-dispatch": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types scripts/auto-dispatch-baseline.mjs",
|
|
74
|
+
"baseline:auto-dispatch:compare": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types scripts/auto-dispatch-baseline.mjs --no-write",
|
|
71
75
|
"baseline:refactor:gate": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/tests/refactor-baseline.test.ts src/tests/rpc-golden-fixtures.test.ts src/tests/prompt-golden-fixtures.test.ts src/tests/contracts-rpc-fixtures.test.ts",
|
|
72
76
|
"baseline:refactor:phase0": "pnpm run baseline:refactor:gate && node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/gsd/tests/derive-state-db.test.ts src/resources/extensions/gsd/tests/single-writer-invariant.test.ts src/resources/extensions/gsd/tests/auto-recovery.test.ts src/resources/extensions/gsd/tests/auto-worktree-registry.test.ts",
|
|
73
77
|
"legacy:cleanup:gate": "node scripts/legacy-cleanup-gate.mjs",
|
|
@@ -86,11 +90,9 @@
|
|
|
86
90
|
"test:integration": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test --test-timeout=180000 \"src/tests/integration/*.test.ts\" \"src/resources/extensions/gsd/tests/integration/*.test.ts\" \"src/resources/extensions/async-jobs/*.test.ts\" \"src/resources/extensions/ollama/**/*.test.ts\" \"src/resources/extensions/ollama/*.test.ts\" \"src/resources/extensions/search-the-web/tests/*.test.ts\" \"src/resources/extensions/bg-shell/tests/*.test.ts\" \"src/resources/extensions/slash-commands/tests/*.test.ts\" \"src/resources/extensions/browser-tools/tests/*.test.mjs\"",
|
|
87
91
|
"pretest": "pnpm run typecheck:extensions",
|
|
88
92
|
"test": "pnpm run test:unit && pnpm run test:integration && pnpm run test:packages",
|
|
89
|
-
"prototype:tui-design": "pnpm run build:pi-tui && pnpm run build:pi-coding-agent && node packages/pi-coding-agent/scripts/run-design-prototype.mjs",
|
|
90
|
-
"prototype:tui-density": "pnpm run build:pi-tui && pnpm run build:pi-coding-agent && node packages/pi-coding-agent/scripts/run-density-prototype.mjs",
|
|
91
|
-
"prototype:tui-widget": "pnpm run build:pi-tui && pnpm run build:pi-coding-agent && node --experimental-strip-types packages/gsd-agent-modes/scripts/run-widget-prototype.mjs",
|
|
92
93
|
"test:smoke": "node --experimental-strip-types tests/smoke/run.ts",
|
|
93
94
|
"test:live": "node scripts/with-env.mjs GSD_LIVE_TESTS=1 -- node --experimental-strip-types tests/live/run.ts",
|
|
95
|
+
"test:live-workflow": "node --experimental-strip-types tests/live-workflow/run.ts",
|
|
94
96
|
"test:browser-tools": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs src/resources/extensions/browser-tools/tests/browser-engine-selection.test.mjs src/resources/extensions/browser-tools/tests/managed-gsd-browser-tools.test.mjs src/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs",
|
|
95
97
|
"test:native": "pnpm --filter @gsd/native run test",
|
|
96
98
|
"test:secret-scan": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/tests/secret-scan.test.ts",
|
|
@@ -110,6 +112,7 @@
|
|
|
110
112
|
"sync-pkg-version": "node scripts/sync-pkg-version.cjs",
|
|
111
113
|
"sync-platform-versions": "node native/scripts/sync-platform-versions.cjs",
|
|
112
114
|
"verify:native-platform-packages": "node scripts/verify-native-platform-packages.mjs",
|
|
115
|
+
"verify:npm-release": "node scripts/verify-npm-release.mjs",
|
|
113
116
|
"verify:version-sync": "node scripts/verify-version-sync.cjs",
|
|
114
117
|
"validate-pack": "node scripts/validate-pack.js",
|
|
115
118
|
"prepack": "node scripts/prepack-resolve-workspace.cjs",
|
|
@@ -205,15 +208,17 @@
|
|
|
205
208
|
},
|
|
206
209
|
"optionalDependencies": {
|
|
207
210
|
"@mariozechner/clipboard": "0.3.6",
|
|
208
|
-
"@opengsd/engine-darwin-arm64": "1.
|
|
209
|
-
"@opengsd/engine-darwin-x64": "1.
|
|
210
|
-
"@opengsd/engine-linux-arm64-gnu": "1.
|
|
211
|
-
"@opengsd/engine-linux-x64-gnu": "1.
|
|
212
|
-
"@opengsd/engine-win32-x64-msvc": "1.
|
|
211
|
+
"@opengsd/engine-darwin-arm64": "1.2.0",
|
|
212
|
+
"@opengsd/engine-darwin-x64": "1.2.0",
|
|
213
|
+
"@opengsd/engine-linux-arm64-gnu": "1.2.0",
|
|
214
|
+
"@opengsd/engine-linux-x64-gnu": "1.2.0",
|
|
215
|
+
"@opengsd/engine-win32-x64-msvc": "1.2.0",
|
|
213
216
|
"fsevents": "~2.3.3",
|
|
214
217
|
"koffi": "^2.9.0"
|
|
215
218
|
},
|
|
216
219
|
"overrides": {
|
|
220
|
+
"uuid": "^11.1.1",
|
|
221
|
+
"postcss": "^8.5.10",
|
|
217
222
|
"@mistralai/mistralai": "2.2.1",
|
|
218
223
|
"gaxios": "7.1.4",
|
|
219
224
|
"c8": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengsd/cloud-mcp-gateway",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-dev.844675c9",
|
|
4
4
|
"description": "Cloud MCP gateway for brokering remote MCP clients to local GSD runtimes",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
32
|
-
"@opengsd/mcp-server": "^1.
|
|
32
|
+
"@opengsd/mcp-server": "^1.2.0-dev.844675c9",
|
|
33
33
|
"ws": "^8.20.0",
|
|
34
34
|
"zod": "^4.0.0"
|
|
35
35
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengsd/daemon",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-dev.844675c9",
|
|
4
4
|
"description": "GSD daemon — background process for project monitoring and Discord integration",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@anthropic-ai/sdk": "^0.52.0",
|
|
34
|
-
"@opengsd/contracts": "^1.
|
|
35
|
-
"@opengsd/mcp-server": "^1.
|
|
36
|
-
"@opengsd/rpc-client": "^1.
|
|
34
|
+
"@opengsd/contracts": "^1.2.0-dev.844675c9",
|
|
35
|
+
"@opengsd/mcp-server": "^1.2.0-dev.844675c9",
|
|
36
|
+
"@opengsd/rpc-client": "^1.2.0-dev.844675c9",
|
|
37
37
|
"discord.js": "^14.25.1",
|
|
38
38
|
"ws": "^8.20.0",
|
|
39
39
|
"yaml": "^2.8.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gsd/agent-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-dev.844675c9",
|
|
4
4
|
"description": "GSD session orchestration layer on top of @gsd/pi-coding-agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"gsd": {
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"test": "node --import ../../src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test src/*.test.ts src/**/*.test.ts"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@gsd/native": "^1.
|
|
29
|
-
"@gsd/pi-agent-core": "^1.
|
|
30
|
-
"@gsd/pi-ai": "^1.
|
|
31
|
-
"@gsd/pi-coding-agent": "^1.
|
|
28
|
+
"@gsd/native": "^1.2.0-dev.844675c9",
|
|
29
|
+
"@gsd/pi-agent-core": "^1.2.0-dev.844675c9",
|
|
30
|
+
"@gsd/pi-ai": "^1.2.0-dev.844675c9",
|
|
31
|
+
"@gsd/pi-coding-agent": "^1.2.0-dev.844675c9"
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -96,7 +96,7 @@ export function renderConnectedCard(width, title, bodyLines, opts = {}) {
|
|
|
96
96
|
}
|
|
97
97
|
const paintBody = (line) => {
|
|
98
98
|
const innerWidth = Math.max(1, width - indent);
|
|
99
|
-
const inner = padRight(
|
|
99
|
+
const inner = padRight(" " + line, innerWidth);
|
|
100
100
|
const painted = opts.bodyBg ? theme.bg(opts.bodyBg, inner) : inner;
|
|
101
101
|
return prefix + painted;
|
|
102
102
|
};
|