@xtalpi/agentic-lab-skills 0.0.5 → 0.0.7
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 +1 -1
- package/skills/lab-flow-designer/SKILL.md +138 -1
- package/skills/lab-flow-designer/embedded-template/SKILL.md +2 -2
- package/skills/lab-flow-designer/embedded-template/valves//347/244/272/344/276/213/346/225/260/346/215/256/344/270/216/346/240/241/351/252/214/351/227/250/346/216/247.md +1 -1
- package/skills/lab-flow-designer/references/agentic-lab-sdk.md +1 -1
- package/skills/lab-flow-designer/references//344/270/232/345/212/241/346/265/201/347/250/213/346/226/207/346/241/243/346/240/207/345/207/206.md +2 -2
- package/skills/lab-flow-designer/testing/test-processer.mjs +1082 -0
- package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/styles/orbit-quasar-host.scss +1 -1
- package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/use/useBitablePage.ts +10 -1
- package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/use/useSuperTableBitableLifecycle.ts +19 -11
- package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/views/bitable.vue +1 -1
- package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/views/custom-page.vue +1 -1
- package/skills/lab-orbit-component-builder/references/flow-document-human-ui.md +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* 复用:在 SFC 的 `<style scoped lang="scss">` 内首行 `@import '@/styles/orbit-quasar-host.scss';`
|
|
7
7
|
* (须 scoped + `:deep(.q-btn)`,否则子组件 DOM 无法命中)
|
|
8
8
|
* 主题调整:新增/修改主色或全局 `q-btn` 表现请只改本文件;页面结构见 `src/views/bitable.vue`。
|
|
9
|
-
* 按钮分工:`primary` 仅提交等持久化写回;`outline` 仅刷新/检查等页面数据交互(见
|
|
9
|
+
* 按钮分工:`primary` 仅提交等持久化写回;`outline` 仅刷新/检查等页面数据交互(见 lab-orbit-component-builder SKILL 规则 2)。
|
|
10
10
|
*/
|
|
11
11
|
.orbit-quasar-host {
|
|
12
12
|
--orbit-primary: #123aff;
|
package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/use/useBitablePage.ts
CHANGED
|
@@ -98,12 +98,21 @@ export function useBitablePage (getContext: () => XnbSuperCellContext): UseBitab
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
let _bootstrapCellKey = ''
|
|
102
|
+
let _bootstrapping = false
|
|
103
|
+
|
|
101
104
|
async function runBootstrapSafe (): Promise<void> {
|
|
102
|
-
if (!choreo.value) return
|
|
105
|
+
if (!choreo.value || _bootstrapping) return
|
|
106
|
+
const key = `${getContext().bookPath}|${getContext().cellUid}`
|
|
107
|
+
if (key === _bootstrapCellKey) return
|
|
108
|
+
_bootstrapping = true
|
|
109
|
+
_bootstrapCellKey = key
|
|
103
110
|
try {
|
|
104
111
|
await bootstrap()
|
|
105
112
|
} catch {
|
|
106
113
|
/* composable 内已 notify */
|
|
114
|
+
} finally {
|
|
115
|
+
_bootstrapping = false
|
|
107
116
|
}
|
|
108
117
|
}
|
|
109
118
|
|
|
@@ -188,18 +188,20 @@ export function useSuperTableBitableLifecycle (
|
|
|
188
188
|
const lastAgenticRawTickets = ref<Record<string, unknown>[]>([])
|
|
189
189
|
const cellUid = computed(() => getContext().cellUid || '')
|
|
190
190
|
|
|
191
|
+
let _prevBookPath = ''
|
|
192
|
+
let _prevCellUid = ''
|
|
193
|
+
|
|
191
194
|
watch(
|
|
192
195
|
() => [getContext().bookPath, getContext().cellUid, getContext().XNBBitable] as const,
|
|
193
196
|
() => {
|
|
194
197
|
const ctx = getContext()
|
|
198
|
+
const bp = ctx.bookPath
|
|
199
|
+
const cu = ctx.cellUid
|
|
200
|
+
if (bp === _prevBookPath && cu === _prevCellUid && choreo.value != null) return
|
|
201
|
+
_prevBookPath = bp
|
|
202
|
+
_prevCellUid = cu
|
|
195
203
|
const Ctor = ctx.XNBBitable
|
|
196
|
-
choreo.value =
|
|
197
|
-
Ctor != null
|
|
198
|
-
? new Ctor({
|
|
199
|
-
bookPath: ctx.bookPath,
|
|
200
|
-
cellUid: ctx.cellUid
|
|
201
|
-
})
|
|
202
|
-
: null
|
|
204
|
+
choreo.value = Ctor != null ? new Ctor({ bookPath: bp, cellUid: cu }) : null
|
|
203
205
|
},
|
|
204
206
|
{ immediate: true }
|
|
205
207
|
)
|
|
@@ -242,7 +244,7 @@ export function useSuperTableBitableLifecycle (
|
|
|
242
244
|
await x.addColumns(bitable, cols, [])
|
|
243
245
|
handleBitable(bitable, sub)
|
|
244
246
|
await x.updateSubBitable([bitable], { isMerge: false, name: DEMO_SUB_TABLE_NAME })
|
|
245
|
-
if (typeof x.delay === 'function') await x.delay(
|
|
247
|
+
if (typeof x.delay === 'function') await x.delay(300)
|
|
246
248
|
}
|
|
247
249
|
|
|
248
250
|
async function createEmptyBitable (isMerge = false): Promise<void> {
|
|
@@ -254,13 +256,18 @@ export function useSuperTableBitableLifecycle (
|
|
|
254
256
|
await x.addColumns(bitable, dataColumns, [])
|
|
255
257
|
handleBitable(bitable, listSub)
|
|
256
258
|
await x.updateSubBitable([bitable], { isMerge, name: DEMO_SUB_TABLE_NAME })
|
|
257
|
-
if (typeof x.delay === 'function') await x.delay(
|
|
259
|
+
if (typeof x.delay === 'function') await x.delay(300)
|
|
258
260
|
return
|
|
259
261
|
}
|
|
260
262
|
const bitable: Record<string, unknown> = { items: [], data_columns: [] }
|
|
261
263
|
handleBitable(bitable, listSub)
|
|
262
264
|
await x.addColumns(bitable, dataColumns, [])
|
|
263
|
-
|
|
265
|
+
try {
|
|
266
|
+
await x.createSubBitable([bitable], DEMO_SUB_TABLE_NAME)
|
|
267
|
+
} catch {
|
|
268
|
+
if (typeof x.delay === 'function') await x.delay(500)
|
|
269
|
+
await x.createSubBitable([bitable], DEMO_SUB_TABLE_NAME)
|
|
270
|
+
}
|
|
264
271
|
}
|
|
265
272
|
|
|
266
273
|
async function fetchDemoList (): Promise<DemoListRow[]> {
|
|
@@ -332,7 +339,7 @@ export function useSuperTableBitableLifecycle (
|
|
|
332
339
|
}
|
|
333
340
|
|
|
334
341
|
await x.updateSubBitable([bitable], { isMerge: true, name: DEMO_SUB_TABLE_NAME })
|
|
335
|
-
if (typeof x.delay === 'function') await x.delay(
|
|
342
|
+
if (typeof x.delay === 'function') await x.delay(300)
|
|
336
343
|
}
|
|
337
344
|
|
|
338
345
|
async function ensureBitableStructure (): Promise<void> {
|
|
@@ -367,6 +374,7 @@ export function useSuperTableBitableLifecycle (
|
|
|
367
374
|
|
|
368
375
|
if (dataColumnsMismatch(bitable, dataColumns) || !((bitable.data_columns as unknown[])?.length)) {
|
|
369
376
|
await rebuildSubBitableColumns(bitable, listSub, dataColumns)
|
|
377
|
+
bitable = (await resolveBitableBySub(listSub)) ?? bitable
|
|
370
378
|
}
|
|
371
379
|
|
|
372
380
|
const rows = await fetchDemoList()
|
package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/views/bitable.vue
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<script lang="ts" setup>
|
|
22
22
|
/**
|
|
23
23
|
* 模板内演示用超级表格工具栏示例(非业务交付物)。
|
|
24
|
-
*
|
|
24
|
+
* lab-orbit-component-builder 技能:向用户目标目录产出时勿原样复制本文件;请按流程文档新建具语义的 `src/views/<业务>.vue` 并参考此处写法。
|
|
25
25
|
*
|
|
26
26
|
* 刷新 / 提交:在 `useBitablePage` 内经 Quasar 对话框确认后再执行。
|
|
27
27
|
*/
|
package/skills/lab-orbit-component-builder/examples/xnb-component-template/src/views/custom-page.vue
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
模板内演示用多区页面示例(非业务交付物)。
|
|
3
|
-
|
|
3
|
+
lab-orbit-component-builder 技能:向用户目标目录产出时勿原样复制本文件;请按流程文档新建具语义的 views 与 entries。
|
|
4
4
|
|
|
5
5
|
场景:复杂多组件页面(不使用超级表格 / XNBBitable)
|
|
6
6
|
入口文件名:custom-page.vue(与 xnb-components 中 id 一致)
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
| 文档配置项 | 落地建议 |
|
|
40
40
|
|------------|----------|
|
|
41
41
|
| **AppBaseUrl** | 本地/CI:`VITE_AGENTICLAB_API_URL`(见模板 `.env.local.example`);Orbit 内 HTTP 走 `orbitRequestJson` / `window.xnb.http.client.request`,基址以宿主代理为准 |
|
|
42
|
-
| **数据查询上限** | 列表请求 `limit` 默认值(如 `9000`);与 **flow-
|
|
42
|
+
| **数据查询上限** | 列表请求 `limit` 默认值(如 `9000`);与 **lab-flow-designer** 列表类约定一致时注意网关上限 |
|
|
43
43
|
| **语言类型** | 影响 UI 文案语言(中/英);未给定时与团队默认一致 |
|
|
44
44
|
|
|
45
45
|
门控级 **脚本配置项**(如 StationBaseURL)属于 **后置/工站脚本**,不默认写进 Vue 页;若文档明确要求页面内调用,再在 `AgenticAppAPI` 之外单独增加 `src/api/*` 与环境变量。
|