@agimon-ai/po-core 0.0.0-alpha.64 → 0.0.0-alpha.65
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/src/web/services/testing/templateRail.cjs +2 -0
- package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
- package/dist/src/web/services/testing/templateRail.d.mts +1 -0
- package/dist/src/web/services/testing/templateRail.d.mts.map +1 -1
- package/dist/src/web/services/testing/templateRail.mjs +2 -0
- package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
- package/dist/src/web/types/template.d.mts +4 -0
- package/dist/src/web/types/template.d.mts.map +1 -1
- package/package.json +4 -4
|
@@ -131,6 +131,7 @@ function templateRailStub(options = {}) {
|
|
|
131
131
|
directories: ["/Users/dev/workspace", "/Users/dev/notes"]
|
|
132
132
|
})),
|
|
133
133
|
removePendingSetup: record("removePendingSetup", Promise.resolve(void 0)),
|
|
134
|
+
openHome: record("openHome"),
|
|
134
135
|
openSettings: record("openSettings"),
|
|
135
136
|
openRemoteAccess: record("openRemoteAccess"),
|
|
136
137
|
turnRemoteAccessOff: record("turnRemoteAccessOff"),
|
|
@@ -144,6 +145,7 @@ function templateRailStub(options = {}) {
|
|
|
144
145
|
deviceCount: 0
|
|
145
146
|
},
|
|
146
147
|
pluginContent: null,
|
|
148
|
+
homeActive: options.homeActive ?? false,
|
|
147
149
|
...options.addWorkspace === void 0 ? {} : { addWorkspace: options.addWorkspace },
|
|
148
150
|
actions: {
|
|
149
151
|
...recorded,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateRail.cjs","names":[],"sources":["../../../../../src/web/services/testing/templateRail.ts"],"sourcesContent":["import type {\n WebTemplateRail,\n WebTemplateRailActions,\n WebTemplateRailSession,\n WebTemplateRailWorkspace,\n} from '../../types/template';\n\n/**\n * The rail a template receives, built for a test or story.\n *\n * Two workspaces with sessions that exercise the card's branches (a branch\n * with a dirty star, a profile avatar, a nested child, workflow sessions in\n * each state, a pending setup), plus\n * actions that record what the template asked for. Override any part.\n */\n\nexport interface RecordedRailAction {\n action: keyof WebTemplateRailActions;\n args: readonly unknown[];\n}\n\nexport interface TemplateRailFixture {\n rail: WebTemplateRail;\n /** Every action the template called, in order. */\n readonly actions: readonly RecordedRailAction[];\n}\n\nexport interface TemplateRailOptions {\n workspaces?: readonly WebTemplateRailWorkspace[];\n addWorkspace?: WebTemplateRail['addWorkspace'];\n remote?: WebTemplateRail['remote'];\n actions?: Partial<WebTemplateRailActions>;\n}\n\n/** A tiny transparent PNG, so avatar markup renders an image without a network request. */\nconst AVATAR_URL =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';\n\nexport function railSession(overrides: Partial<WebTemplateRailSession> & { id: string }): WebTemplateRailSession {\n return {\n name: overrides.id,\n ordinal: 1,\n active: false,\n nested: false,\n status: 'idle · done 2m ago',\n awaitingInput: false,\n restarting: false,\n pendingSetups: [],\n ...overrides,\n };\n}\n\nexport function defaultRailWorkspaces(): WebTemplateRailWorkspace[] {\n return [\n {\n id: 'po',\n name: 'po',\n root: '/Users/dev/workspace/po',\n available: true,\n legacy: false,\n sessions: [\n railSession({\n id: 'rail',\n name: 'rail redesign',\n ordinal: 1,\n active: true,\n status: 'running · 3m',\n git: { branch: 'main', dirty: true },\n profile: { name: 'ponytail', label: 'Ponytail', initials: 'PO', avatarUrl: AVATAR_URL },\n }),\n railSession({\n id: 'rail-worktree',\n name: 'worktree child',\n ordinal: 2,\n nested: true,\n provenance: 'worktree',\n git: { branch: 'feature/rail', dirty: false },\n profile: { name: 'reviewer', label: 'Reviewer', initials: 'RE' },\n pendingSetups: [\n {\n id: 'setup',\n name: 'docs worktree',\n status: 'automatic worktree setup failed',\n failed: true,\n recovery: 'Resolve the Git setup, then retry the authenticated conversation.',\n },\n ],\n }),\n railSession({\n id: 'rail-workflow',\n name: 'release-hardening',\n ordinal: 3,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow · build › edit token.ts · 4m',\n }),\n railSession({\n id: 'rail-workflow-failed',\n name: 'nightly',\n ordinal: 4,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow failed · test',\n awaitingInput: true,\n }),\n railSession({\n id: 'rail-workflow-done',\n name: 'hotfix',\n ordinal: 5,\n nested: true,\n provenance: 'workflow-session',\n status: 'stopped · open to wake',\n }),\n ],\n },\n {\n id: 'notes',\n name: 'Notes',\n root: '/Users/dev/.po/workspace/Notes',\n available: true,\n legacy: false,\n sessions: [],\n },\n ];\n}\n\nexport function templateRailStub(options: TemplateRailOptions = {}): TemplateRailFixture {\n const actions: RecordedRailAction[] = [];\n const record =\n <Name extends keyof WebTemplateRailActions>(action: Name, result?: unknown) =>\n (...args: unknown[]) => {\n actions.push({ action, args });\n return result;\n };\n const recorded: WebTemplateRailActions = {\n openSession: record('openSession'),\n renameSession: record('renameSession'),\n setSessionGroups: record(\n 'setSessionGroups',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['setSessionGroups'],\n renameGroup: record('renameGroup', Promise.resolve(undefined)) as WebTemplateRailActions['renameGroup'],\n deleteGroup: record('deleteGroup', Promise.resolve(undefined)) as WebTemplateRailActions['deleteGroup'],\n restartSession: record('restartSession'),\n removeSession: record('removeSession', Promise.resolve(undefined)) as WebTemplateRailActions['removeSession'],\n resumeSession: record('resumeSession'),\n createSession: record('createSession'),\n resumeInWorkspace: record('resumeInWorkspace'),\n openWorkspaceSettings: record('openWorkspaceSettings'),\n deleteWorkspace: record('deleteWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['deleteWorkspace'],\n openAddWorkspace: record('openAddWorkspace'),\n closeAddWorkspace: record('closeAddWorkspace'),\n addWorkspace: record('addWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['addWorkspace'],\n discoverWorkspaces: record(\n 'discoverWorkspaces',\n Promise.resolve({ unsupported: true }),\n ) as WebTemplateRailActions['discoverWorkspaces'],\n addDeclaredWorkspaces: record(\n 'addDeclaredWorkspaces',\n Promise.resolve({ results: [] }),\n ) as WebTemplateRailActions['addDeclaredWorkspaces'],\n searchDirectories: record(\n 'searchDirectories',\n Promise.resolve(['/Users/dev/workspace/po', '/Users/dev/workspace/docs']),\n ) as WebTemplateRailActions['searchDirectories'],\n listDirectory: record(\n 'listDirectory',\n Promise.resolve({\n path: '/Users/dev',\n parent: '/Users',\n directories: ['/Users/dev/workspace', '/Users/dev/notes'],\n }),\n ) as WebTemplateRailActions['listDirectory'],\n removePendingSetup: record(\n 'removePendingSetup',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['removePendingSetup'],\n openSettings: record('openSettings'),\n openRemoteAccess: record('openRemoteAccess'),\n turnRemoteAccessOff: record('turnRemoteAccessOff'),\n renderSessionMenuItems: () => null,\n };\n return {\n rail: {\n workspaces: options.workspaces ?? defaultRailWorkspaces(),\n remote: options.remote ?? { status: 'off', deviceCount: 0 },\n pluginContent: null,\n ...(options.addWorkspace === undefined ? {} : { addWorkspace: options.addWorkspace }),\n actions: { ...recorded, ...options.actions },\n },\n actions,\n };\n}\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"templateRail.cjs","names":[],"sources":["../../../../../src/web/services/testing/templateRail.ts"],"sourcesContent":["import type {\n WebTemplateRail,\n WebTemplateRailActions,\n WebTemplateRailSession,\n WebTemplateRailWorkspace,\n} from '../../types/template';\n\n/**\n * The rail a template receives, built for a test or story.\n *\n * Two workspaces with sessions that exercise the card's branches (a branch\n * with a dirty star, a profile avatar, a nested child, workflow sessions in\n * each state, a pending setup), plus\n * actions that record what the template asked for. Override any part.\n */\n\nexport interface RecordedRailAction {\n action: keyof WebTemplateRailActions;\n args: readonly unknown[];\n}\n\nexport interface TemplateRailFixture {\n rail: WebTemplateRail;\n /** Every action the template called, in order. */\n readonly actions: readonly RecordedRailAction[];\n}\n\nexport interface TemplateRailOptions {\n workspaces?: readonly WebTemplateRailWorkspace[];\n addWorkspace?: WebTemplateRail['addWorkspace'];\n remote?: WebTemplateRail['remote'];\n homeActive?: boolean;\n actions?: Partial<WebTemplateRailActions>;\n}\n\n/** A tiny transparent PNG, so avatar markup renders an image without a network request. */\nconst AVATAR_URL =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';\n\nexport function railSession(overrides: Partial<WebTemplateRailSession> & { id: string }): WebTemplateRailSession {\n return {\n name: overrides.id,\n ordinal: 1,\n active: false,\n nested: false,\n status: 'idle · done 2m ago',\n awaitingInput: false,\n restarting: false,\n pendingSetups: [],\n ...overrides,\n };\n}\n\nexport function defaultRailWorkspaces(): WebTemplateRailWorkspace[] {\n return [\n {\n id: 'po',\n name: 'po',\n root: '/Users/dev/workspace/po',\n available: true,\n legacy: false,\n sessions: [\n railSession({\n id: 'rail',\n name: 'rail redesign',\n ordinal: 1,\n active: true,\n status: 'running · 3m',\n git: { branch: 'main', dirty: true },\n profile: { name: 'ponytail', label: 'Ponytail', initials: 'PO', avatarUrl: AVATAR_URL },\n }),\n railSession({\n id: 'rail-worktree',\n name: 'worktree child',\n ordinal: 2,\n nested: true,\n provenance: 'worktree',\n git: { branch: 'feature/rail', dirty: false },\n profile: { name: 'reviewer', label: 'Reviewer', initials: 'RE' },\n pendingSetups: [\n {\n id: 'setup',\n name: 'docs worktree',\n status: 'automatic worktree setup failed',\n failed: true,\n recovery: 'Resolve the Git setup, then retry the authenticated conversation.',\n },\n ],\n }),\n railSession({\n id: 'rail-workflow',\n name: 'release-hardening',\n ordinal: 3,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow · build › edit token.ts · 4m',\n }),\n railSession({\n id: 'rail-workflow-failed',\n name: 'nightly',\n ordinal: 4,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow failed · test',\n awaitingInput: true,\n }),\n railSession({\n id: 'rail-workflow-done',\n name: 'hotfix',\n ordinal: 5,\n nested: true,\n provenance: 'workflow-session',\n status: 'stopped · open to wake',\n }),\n ],\n },\n {\n id: 'notes',\n name: 'Notes',\n root: '/Users/dev/.po/workspace/Notes',\n available: true,\n legacy: false,\n sessions: [],\n },\n ];\n}\n\nexport function templateRailStub(options: TemplateRailOptions = {}): TemplateRailFixture {\n const actions: RecordedRailAction[] = [];\n const record =\n <Name extends keyof WebTemplateRailActions>(action: Name, result?: unknown) =>\n (...args: unknown[]) => {\n actions.push({ action, args });\n return result;\n };\n const recorded: WebTemplateRailActions = {\n openSession: record('openSession'),\n renameSession: record('renameSession'),\n setSessionGroups: record(\n 'setSessionGroups',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['setSessionGroups'],\n renameGroup: record('renameGroup', Promise.resolve(undefined)) as WebTemplateRailActions['renameGroup'],\n deleteGroup: record('deleteGroup', Promise.resolve(undefined)) as WebTemplateRailActions['deleteGroup'],\n restartSession: record('restartSession'),\n removeSession: record('removeSession', Promise.resolve(undefined)) as WebTemplateRailActions['removeSession'],\n resumeSession: record('resumeSession'),\n createSession: record('createSession'),\n resumeInWorkspace: record('resumeInWorkspace'),\n openWorkspaceSettings: record('openWorkspaceSettings'),\n deleteWorkspace: record('deleteWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['deleteWorkspace'],\n openAddWorkspace: record('openAddWorkspace'),\n closeAddWorkspace: record('closeAddWorkspace'),\n addWorkspace: record('addWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['addWorkspace'],\n discoverWorkspaces: record(\n 'discoverWorkspaces',\n Promise.resolve({ unsupported: true }),\n ) as WebTemplateRailActions['discoverWorkspaces'],\n addDeclaredWorkspaces: record(\n 'addDeclaredWorkspaces',\n Promise.resolve({ results: [] }),\n ) as WebTemplateRailActions['addDeclaredWorkspaces'],\n searchDirectories: record(\n 'searchDirectories',\n Promise.resolve(['/Users/dev/workspace/po', '/Users/dev/workspace/docs']),\n ) as WebTemplateRailActions['searchDirectories'],\n listDirectory: record(\n 'listDirectory',\n Promise.resolve({\n path: '/Users/dev',\n parent: '/Users',\n directories: ['/Users/dev/workspace', '/Users/dev/notes'],\n }),\n ) as WebTemplateRailActions['listDirectory'],\n removePendingSetup: record(\n 'removePendingSetup',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['removePendingSetup'],\n openHome: record('openHome'),\n openSettings: record('openSettings'),\n openRemoteAccess: record('openRemoteAccess'),\n turnRemoteAccessOff: record('turnRemoteAccessOff'),\n renderSessionMenuItems: () => null,\n };\n return {\n rail: {\n workspaces: options.workspaces ?? defaultRailWorkspaces(),\n remote: options.remote ?? { status: 'off', deviceCount: 0 },\n pluginContent: null,\n homeActive: options.homeActive ?? false,\n ...(options.addWorkspace === undefined ? {} : { addWorkspace: options.addWorkspace }),\n actions: { ...recorded, ...options.actions },\n },\n actions,\n };\n}\n"],"mappings":";;AAoCA,MAAM,aACJ;AAEF,SAAgB,YAAY,WAAqF;CAC/G,OAAO;EACL,MAAM,UAAU;EAChB,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,eAAe;EACf,YAAY;EACZ,eAAe,CAAC;EAChB,GAAG;CACL;AACF;AAEA,SAAgB,wBAAoD;CAClE,OAAO,CACL;EACE,IAAI;EACJ,MAAM;EACN,MAAM;EACN,WAAW;EACX,QAAQ;EACR,UAAU;GACR,YAAY;IACV,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;KAAE,QAAQ;KAAQ,OAAO;IAAK;IACnC,SAAS;KAAE,MAAM;KAAY,OAAO;KAAY,UAAU;KAAM,WAAW;IAAW;GACxF,CAAC;GACD,YAAY;IACV,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,KAAK;KAAE,QAAQ;KAAgB,OAAO;IAAM;IAC5C,SAAS;KAAE,MAAM;KAAY,OAAO;KAAY,UAAU;IAAK;IAC/D,eAAe,CACb;KACE,IAAI;KACJ,MAAM;KACN,QAAQ;KACR,QAAQ;KACR,UAAU;IACZ,CACF;GACF,CAAC;GACD,YAAY;IACV,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,QAAQ;GACV,CAAC;GACD,YAAY;IACV,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,eAAe;GACjB,CAAC;GACD,YAAY;IACV,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,QAAQ;GACV,CAAC;EACH;CACF,GACA;EACE,IAAI;EACJ,MAAM;EACN,MAAM;EACN,WAAW;EACX,QAAQ;EACR,UAAU,CAAC;CACb,CACF;AACF;AAEA,SAAgB,iBAAiB,UAA+B,CAAC,GAAwB;CACvF,MAAM,UAAgC,CAAC;CACvC,MAAM,UACwC,QAAc,YACzD,GAAG,SAAoB;EACtB,QAAQ,KAAK;GAAE;GAAQ;EAAK,CAAC;EAC7B,OAAO;CACT;CACF,MAAM,WAAmC;EACvC,aAAa,OAAO,aAAa;EACjC,eAAe,OAAO,eAAe;EACrC,kBAAkB,OAChB,oBACA,QAAQ,QAAQ,KAAA,CAAS,CAC3B;EACA,aAAa,OAAO,eAAe,QAAQ,QAAQ,KAAA,CAAS,CAAC;EAC7D,aAAa,OAAO,eAAe,QAAQ,QAAQ,KAAA,CAAS,CAAC;EAC7D,gBAAgB,OAAO,gBAAgB;EACvC,eAAe,OAAO,iBAAiB,QAAQ,QAAQ,KAAA,CAAS,CAAC;EACjE,eAAe,OAAO,eAAe;EACrC,eAAe,OAAO,eAAe;EACrC,mBAAmB,OAAO,mBAAmB;EAC7C,uBAAuB,OAAO,uBAAuB;EACrD,iBAAiB,OAAO,mBAAmB,QAAQ,QAAQ,KAAA,CAAS,CAAC;EACrE,kBAAkB,OAAO,kBAAkB;EAC3C,mBAAmB,OAAO,mBAAmB;EAC7C,cAAc,OAAO,gBAAgB,QAAQ,QAAQ,KAAA,CAAS,CAAC;EAC/D,oBAAoB,OAClB,sBACA,QAAQ,QAAQ,EAAE,aAAa,KAAK,CAAC,CACvC;EACA,uBAAuB,OACrB,yBACA,QAAQ,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CACjC;EACA,mBAAmB,OACjB,qBACA,QAAQ,QAAQ,CAAC,2BAA2B,2BAA2B,CAAC,CAC1E;EACA,eAAe,OACb,iBACA,QAAQ,QAAQ;GACd,MAAM;GACN,QAAQ;GACR,aAAa,CAAC,wBAAwB,kBAAkB;EAC1D,CAAC,CACH;EACA,oBAAoB,OAClB,sBACA,QAAQ,QAAQ,KAAA,CAAS,CAC3B;EACA,UAAU,OAAO,UAAU;EAC3B,cAAc,OAAO,cAAc;EACnC,kBAAkB,OAAO,kBAAkB;EAC3C,qBAAqB,OAAO,qBAAqB;EACjD,8BAA8B;CAChC;CACA,OAAO;EACL,MAAM;GACJ,YAAY,QAAQ,cAAc,sBAAsB;GACxD,QAAQ,QAAQ,UAAU;IAAE,QAAQ;IAAO,aAAa;GAAE;GAC1D,eAAe;GACf,YAAY,QAAQ,cAAc;GAClC,GAAI,QAAQ,iBAAiB,KAAA,IAAY,CAAC,IAAI,EAAE,cAAc,QAAQ,aAAa;GACnF,SAAS;IAAE,GAAG;IAAU,GAAG,QAAQ;GAAQ;EAC7C;EACA;CACF;AACF"}
|
|
@@ -21,6 +21,7 @@ export interface TemplateRailOptions {
|
|
|
21
21
|
workspaces?: readonly WebTemplateRailWorkspace[];
|
|
22
22
|
addWorkspace?: WebTemplateRail['addWorkspace'];
|
|
23
23
|
remote?: WebTemplateRail['remote'];
|
|
24
|
+
homeActive?: boolean;
|
|
24
25
|
actions?: Partial<WebTemplateRailActions>;
|
|
25
26
|
}
|
|
26
27
|
export declare function railSession(overrides: Partial<WebTemplateRailSession> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateRail.d.mts","names":[],"sources":["../../../../../src/web/services/testing/templateRail.ts"],"mappings":";;;;;;;;;;iBAgBiB;EACf,cAAc;EACd;;iBAGe;EACf,MAAM;;WAEG,kBAAkB;;iBAGZ;EACf,sBAAsB;EACtB,eAAe;EACf,SAAS;EACT,UAAU,QAAQ;;wBAOJ,YAAY,WAAW,QAAQ;EAA4B;IAAe;wBAc1E,yBAAyB;wBA0EzB,iBAAiB,UAAS,sBAA2B"}
|
|
1
|
+
{"version":3,"file":"templateRail.d.mts","names":[],"sources":["../../../../../src/web/services/testing/templateRail.ts"],"mappings":";;;;;;;;;;iBAgBiB;EACf,cAAc;EACd;;iBAGe;EACf,MAAM;;WAEG,kBAAkB;;iBAGZ;EACf,sBAAsB;EACtB,eAAe;EACf,SAAS;EACT;EACA,UAAU,QAAQ;;wBAOJ,YAAY,WAAW,QAAQ;EAA4B;IAAe;wBAc1E,yBAAyB;wBA0EzB,iBAAiB,UAAS,sBAA2B"}
|
|
@@ -131,6 +131,7 @@ function templateRailStub(options = {}) {
|
|
|
131
131
|
directories: ["/Users/dev/workspace", "/Users/dev/notes"]
|
|
132
132
|
})),
|
|
133
133
|
removePendingSetup: record("removePendingSetup", Promise.resolve(void 0)),
|
|
134
|
+
openHome: record("openHome"),
|
|
134
135
|
openSettings: record("openSettings"),
|
|
135
136
|
openRemoteAccess: record("openRemoteAccess"),
|
|
136
137
|
turnRemoteAccessOff: record("turnRemoteAccessOff"),
|
|
@@ -144,6 +145,7 @@ function templateRailStub(options = {}) {
|
|
|
144
145
|
deviceCount: 0
|
|
145
146
|
},
|
|
146
147
|
pluginContent: null,
|
|
148
|
+
homeActive: options.homeActive ?? false,
|
|
147
149
|
...options.addWorkspace === void 0 ? {} : { addWorkspace: options.addWorkspace },
|
|
148
150
|
actions: {
|
|
149
151
|
...recorded,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateRail.mjs","names":[],"sources":["../../../../../src/web/services/testing/templateRail.ts"],"sourcesContent":["import type {\n WebTemplateRail,\n WebTemplateRailActions,\n WebTemplateRailSession,\n WebTemplateRailWorkspace,\n} from '../../types/template';\n\n/**\n * The rail a template receives, built for a test or story.\n *\n * Two workspaces with sessions that exercise the card's branches (a branch\n * with a dirty star, a profile avatar, a nested child, workflow sessions in\n * each state, a pending setup), plus\n * actions that record what the template asked for. Override any part.\n */\n\nexport interface RecordedRailAction {\n action: keyof WebTemplateRailActions;\n args: readonly unknown[];\n}\n\nexport interface TemplateRailFixture {\n rail: WebTemplateRail;\n /** Every action the template called, in order. */\n readonly actions: readonly RecordedRailAction[];\n}\n\nexport interface TemplateRailOptions {\n workspaces?: readonly WebTemplateRailWorkspace[];\n addWorkspace?: WebTemplateRail['addWorkspace'];\n remote?: WebTemplateRail['remote'];\n actions?: Partial<WebTemplateRailActions>;\n}\n\n/** A tiny transparent PNG, so avatar markup renders an image without a network request. */\nconst AVATAR_URL =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';\n\nexport function railSession(overrides: Partial<WebTemplateRailSession> & { id: string }): WebTemplateRailSession {\n return {\n name: overrides.id,\n ordinal: 1,\n active: false,\n nested: false,\n status: 'idle · done 2m ago',\n awaitingInput: false,\n restarting: false,\n pendingSetups: [],\n ...overrides,\n };\n}\n\nexport function defaultRailWorkspaces(): WebTemplateRailWorkspace[] {\n return [\n {\n id: 'po',\n name: 'po',\n root: '/Users/dev/workspace/po',\n available: true,\n legacy: false,\n sessions: [\n railSession({\n id: 'rail',\n name: 'rail redesign',\n ordinal: 1,\n active: true,\n status: 'running · 3m',\n git: { branch: 'main', dirty: true },\n profile: { name: 'ponytail', label: 'Ponytail', initials: 'PO', avatarUrl: AVATAR_URL },\n }),\n railSession({\n id: 'rail-worktree',\n name: 'worktree child',\n ordinal: 2,\n nested: true,\n provenance: 'worktree',\n git: { branch: 'feature/rail', dirty: false },\n profile: { name: 'reviewer', label: 'Reviewer', initials: 'RE' },\n pendingSetups: [\n {\n id: 'setup',\n name: 'docs worktree',\n status: 'automatic worktree setup failed',\n failed: true,\n recovery: 'Resolve the Git setup, then retry the authenticated conversation.',\n },\n ],\n }),\n railSession({\n id: 'rail-workflow',\n name: 'release-hardening',\n ordinal: 3,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow · build › edit token.ts · 4m',\n }),\n railSession({\n id: 'rail-workflow-failed',\n name: 'nightly',\n ordinal: 4,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow failed · test',\n awaitingInput: true,\n }),\n railSession({\n id: 'rail-workflow-done',\n name: 'hotfix',\n ordinal: 5,\n nested: true,\n provenance: 'workflow-session',\n status: 'stopped · open to wake',\n }),\n ],\n },\n {\n id: 'notes',\n name: 'Notes',\n root: '/Users/dev/.po/workspace/Notes',\n available: true,\n legacy: false,\n sessions: [],\n },\n ];\n}\n\nexport function templateRailStub(options: TemplateRailOptions = {}): TemplateRailFixture {\n const actions: RecordedRailAction[] = [];\n const record =\n <Name extends keyof WebTemplateRailActions>(action: Name, result?: unknown) =>\n (...args: unknown[]) => {\n actions.push({ action, args });\n return result;\n };\n const recorded: WebTemplateRailActions = {\n openSession: record('openSession'),\n renameSession: record('renameSession'),\n setSessionGroups: record(\n 'setSessionGroups',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['setSessionGroups'],\n renameGroup: record('renameGroup', Promise.resolve(undefined)) as WebTemplateRailActions['renameGroup'],\n deleteGroup: record('deleteGroup', Promise.resolve(undefined)) as WebTemplateRailActions['deleteGroup'],\n restartSession: record('restartSession'),\n removeSession: record('removeSession', Promise.resolve(undefined)) as WebTemplateRailActions['removeSession'],\n resumeSession: record('resumeSession'),\n createSession: record('createSession'),\n resumeInWorkspace: record('resumeInWorkspace'),\n openWorkspaceSettings: record('openWorkspaceSettings'),\n deleteWorkspace: record('deleteWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['deleteWorkspace'],\n openAddWorkspace: record('openAddWorkspace'),\n closeAddWorkspace: record('closeAddWorkspace'),\n addWorkspace: record('addWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['addWorkspace'],\n discoverWorkspaces: record(\n 'discoverWorkspaces',\n Promise.resolve({ unsupported: true }),\n ) as WebTemplateRailActions['discoverWorkspaces'],\n addDeclaredWorkspaces: record(\n 'addDeclaredWorkspaces',\n Promise.resolve({ results: [] }),\n ) as WebTemplateRailActions['addDeclaredWorkspaces'],\n searchDirectories: record(\n 'searchDirectories',\n Promise.resolve(['/Users/dev/workspace/po', '/Users/dev/workspace/docs']),\n ) as WebTemplateRailActions['searchDirectories'],\n listDirectory: record(\n 'listDirectory',\n Promise.resolve({\n path: '/Users/dev',\n parent: '/Users',\n directories: ['/Users/dev/workspace', '/Users/dev/notes'],\n }),\n ) as WebTemplateRailActions['listDirectory'],\n removePendingSetup: record(\n 'removePendingSetup',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['removePendingSetup'],\n openSettings: record('openSettings'),\n openRemoteAccess: record('openRemoteAccess'),\n turnRemoteAccessOff: record('turnRemoteAccessOff'),\n renderSessionMenuItems: () => null,\n };\n return {\n rail: {\n workspaces: options.workspaces ?? defaultRailWorkspaces(),\n remote: options.remote ?? { status: 'off', deviceCount: 0 },\n pluginContent: null,\n ...(options.addWorkspace === undefined ? {} : { addWorkspace: options.addWorkspace }),\n actions: { ...recorded, ...options.actions },\n },\n actions,\n };\n}\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"templateRail.mjs","names":[],"sources":["../../../../../src/web/services/testing/templateRail.ts"],"sourcesContent":["import type {\n WebTemplateRail,\n WebTemplateRailActions,\n WebTemplateRailSession,\n WebTemplateRailWorkspace,\n} from '../../types/template';\n\n/**\n * The rail a template receives, built for a test or story.\n *\n * Two workspaces with sessions that exercise the card's branches (a branch\n * with a dirty star, a profile avatar, a nested child, workflow sessions in\n * each state, a pending setup), plus\n * actions that record what the template asked for. Override any part.\n */\n\nexport interface RecordedRailAction {\n action: keyof WebTemplateRailActions;\n args: readonly unknown[];\n}\n\nexport interface TemplateRailFixture {\n rail: WebTemplateRail;\n /** Every action the template called, in order. */\n readonly actions: readonly RecordedRailAction[];\n}\n\nexport interface TemplateRailOptions {\n workspaces?: readonly WebTemplateRailWorkspace[];\n addWorkspace?: WebTemplateRail['addWorkspace'];\n remote?: WebTemplateRail['remote'];\n homeActive?: boolean;\n actions?: Partial<WebTemplateRailActions>;\n}\n\n/** A tiny transparent PNG, so avatar markup renders an image without a network request. */\nconst AVATAR_URL =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';\n\nexport function railSession(overrides: Partial<WebTemplateRailSession> & { id: string }): WebTemplateRailSession {\n return {\n name: overrides.id,\n ordinal: 1,\n active: false,\n nested: false,\n status: 'idle · done 2m ago',\n awaitingInput: false,\n restarting: false,\n pendingSetups: [],\n ...overrides,\n };\n}\n\nexport function defaultRailWorkspaces(): WebTemplateRailWorkspace[] {\n return [\n {\n id: 'po',\n name: 'po',\n root: '/Users/dev/workspace/po',\n available: true,\n legacy: false,\n sessions: [\n railSession({\n id: 'rail',\n name: 'rail redesign',\n ordinal: 1,\n active: true,\n status: 'running · 3m',\n git: { branch: 'main', dirty: true },\n profile: { name: 'ponytail', label: 'Ponytail', initials: 'PO', avatarUrl: AVATAR_URL },\n }),\n railSession({\n id: 'rail-worktree',\n name: 'worktree child',\n ordinal: 2,\n nested: true,\n provenance: 'worktree',\n git: { branch: 'feature/rail', dirty: false },\n profile: { name: 'reviewer', label: 'Reviewer', initials: 'RE' },\n pendingSetups: [\n {\n id: 'setup',\n name: 'docs worktree',\n status: 'automatic worktree setup failed',\n failed: true,\n recovery: 'Resolve the Git setup, then retry the authenticated conversation.',\n },\n ],\n }),\n railSession({\n id: 'rail-workflow',\n name: 'release-hardening',\n ordinal: 3,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow · build › edit token.ts · 4m',\n }),\n railSession({\n id: 'rail-workflow-failed',\n name: 'nightly',\n ordinal: 4,\n nested: true,\n provenance: 'workflow-session',\n status: 'workflow failed · test',\n awaitingInput: true,\n }),\n railSession({\n id: 'rail-workflow-done',\n name: 'hotfix',\n ordinal: 5,\n nested: true,\n provenance: 'workflow-session',\n status: 'stopped · open to wake',\n }),\n ],\n },\n {\n id: 'notes',\n name: 'Notes',\n root: '/Users/dev/.po/workspace/Notes',\n available: true,\n legacy: false,\n sessions: [],\n },\n ];\n}\n\nexport function templateRailStub(options: TemplateRailOptions = {}): TemplateRailFixture {\n const actions: RecordedRailAction[] = [];\n const record =\n <Name extends keyof WebTemplateRailActions>(action: Name, result?: unknown) =>\n (...args: unknown[]) => {\n actions.push({ action, args });\n return result;\n };\n const recorded: WebTemplateRailActions = {\n openSession: record('openSession'),\n renameSession: record('renameSession'),\n setSessionGroups: record(\n 'setSessionGroups',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['setSessionGroups'],\n renameGroup: record('renameGroup', Promise.resolve(undefined)) as WebTemplateRailActions['renameGroup'],\n deleteGroup: record('deleteGroup', Promise.resolve(undefined)) as WebTemplateRailActions['deleteGroup'],\n restartSession: record('restartSession'),\n removeSession: record('removeSession', Promise.resolve(undefined)) as WebTemplateRailActions['removeSession'],\n resumeSession: record('resumeSession'),\n createSession: record('createSession'),\n resumeInWorkspace: record('resumeInWorkspace'),\n openWorkspaceSettings: record('openWorkspaceSettings'),\n deleteWorkspace: record('deleteWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['deleteWorkspace'],\n openAddWorkspace: record('openAddWorkspace'),\n closeAddWorkspace: record('closeAddWorkspace'),\n addWorkspace: record('addWorkspace', Promise.resolve(undefined)) as WebTemplateRailActions['addWorkspace'],\n discoverWorkspaces: record(\n 'discoverWorkspaces',\n Promise.resolve({ unsupported: true }),\n ) as WebTemplateRailActions['discoverWorkspaces'],\n addDeclaredWorkspaces: record(\n 'addDeclaredWorkspaces',\n Promise.resolve({ results: [] }),\n ) as WebTemplateRailActions['addDeclaredWorkspaces'],\n searchDirectories: record(\n 'searchDirectories',\n Promise.resolve(['/Users/dev/workspace/po', '/Users/dev/workspace/docs']),\n ) as WebTemplateRailActions['searchDirectories'],\n listDirectory: record(\n 'listDirectory',\n Promise.resolve({\n path: '/Users/dev',\n parent: '/Users',\n directories: ['/Users/dev/workspace', '/Users/dev/notes'],\n }),\n ) as WebTemplateRailActions['listDirectory'],\n removePendingSetup: record(\n 'removePendingSetup',\n Promise.resolve(undefined),\n ) as WebTemplateRailActions['removePendingSetup'],\n openHome: record('openHome'),\n openSettings: record('openSettings'),\n openRemoteAccess: record('openRemoteAccess'),\n turnRemoteAccessOff: record('turnRemoteAccessOff'),\n renderSessionMenuItems: () => null,\n };\n return {\n rail: {\n workspaces: options.workspaces ?? defaultRailWorkspaces(),\n remote: options.remote ?? { status: 'off', deviceCount: 0 },\n pluginContent: null,\n homeActive: options.homeActive ?? false,\n ...(options.addWorkspace === undefined ? {} : { addWorkspace: options.addWorkspace }),\n actions: { ...recorded, ...options.actions },\n },\n actions,\n };\n}\n"],"mappings":"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"}
|
|
@@ -138,6 +138,8 @@ export interface WebTemplateRailActions {
|
|
|
138
138
|
error: string;
|
|
139
139
|
}>;
|
|
140
140
|
removePendingSetup: (sessionId: string, setupId: string) => WebTemplateRailResult;
|
|
141
|
+
/** Opens the Home screen at `/`, where plugins' `home-apps` cards live. */
|
|
142
|
+
openHome: () => void;
|
|
141
143
|
openSettings: () => void;
|
|
142
144
|
openRemoteAccess: () => void;
|
|
143
145
|
turnRemoteAccessOff: () => void;
|
|
@@ -156,6 +158,8 @@ export interface WebTemplateRail {
|
|
|
156
158
|
};
|
|
157
159
|
/** Plugin fills for the rail region. */
|
|
158
160
|
pluginContent: ReactNode;
|
|
161
|
+
/** True while the Home screen is shown, so the rail can mark its Home row. */
|
|
162
|
+
homeActive: boolean;
|
|
159
163
|
/**
|
|
160
164
|
* Present while the add-workspace dialog is open. Render it at the layout root,
|
|
161
165
|
* never inside a drawer that can unmount while closed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.mts","names":[],"sources":["../../../../src/web/types/template.ts"],"mappings":";;;iBAGiB;EACf;EACA;;;iBAIe;EACf;EACA;;EAEA;EACA;;EAEA;;;iBAIe;EACf;EACA;;EAEA;EACA;;EAEA;;EAEA;;EAEA;;;;;;EAMA;IAAU;IAAe;;EACzB;EACA;;;;;EAKA;;EAEA;EACA;IAAQ;IAAgB;;;EAExB;EACA;IACE;;IAEA;IACA;;IAEA;;EAEF,wBAAwB;;iBAGT;EACf;EACA;EACA;EACA;;EAEA;EACA,mBAAmB;;;YAIT,wBAAwB;EAAU;;iBAE7B;EACf;EACA;EACA;;iBAGe;EACf;EACA;EACA;;YAGU;EACN;EAAc,uBAAuB;;EACrC;;EACA;;iBAEW;EACf;EACA;EACA;;;iBAIe;EACf,cAAc;EACd,gBAAgB,mBAAmB;;EAEnC,mBAAmB,mBAAmB,8BAA8B;;EAEpE,cAAc,cAAc,eAAe;;EAE3C,cAAc,iBAAiB;EAC/B,iBAAiB;EACjB,gBAAgB,sBAAsB;;EAEtC,gBAAgB;;EAEhB,gBAAgB;EAChB,oBAAoB;EACpB,wBAAwB;EACxB,kBAAkB,wBAAwB;EAC1C;EACA;;EAEA,eAAe;IAAS;IAAc;IAAe;QAA4B;EACjF,sBAAsB,iBAAiB,QAAQ;EAC/C,yBAAyB;IAAS;IAAc;QAA+B;IAC7E,kBAAkB;;EAEpB,oBAAoB,kBAAkB;;EAEtC,gBAAgB,kBAAkB,QAAQ;IAAoC;;EAC9E,qBAAqB,mBAAmB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"template.d.mts","names":[],"sources":["../../../../src/web/types/template.ts"],"mappings":";;;iBAGiB;EACf;EACA;;;iBAIe;EACf;EACA;;EAEA;EACA;;EAEA;;;iBAIe;EACf;EACA;;EAEA;EACA;;EAEA;;EAEA;;EAEA;;;;;;EAMA;IAAU;IAAe;;EACzB;EACA;;;;;EAKA;;EAEA;EACA;IAAQ;IAAgB;;;EAExB;EACA;IACE;;IAEA;IACA;;IAEA;;EAEF,wBAAwB;;iBAGT;EACf;EACA;EACA;EACA;;EAEA;EACA,mBAAmB;;;YAIT,wBAAwB;EAAU;;iBAE7B;EACf;EACA;EACA;;iBAGe;EACf;EACA;EACA;;YAGU;EACN;EAAc,uBAAuB;;EACrC;;EACA;;iBAEW;EACf;EACA;EACA;;;iBAIe;EACf,cAAc;EACd,gBAAgB,mBAAmB;;EAEnC,mBAAmB,mBAAmB,8BAA8B;;EAEpE,cAAc,cAAc,eAAe;;EAE3C,cAAc,iBAAiB;EAC/B,iBAAiB;EACjB,gBAAgB,sBAAsB;;EAEtC,gBAAgB;;EAEhB,gBAAgB;EAChB,oBAAoB;EACpB,wBAAwB;EACxB,kBAAkB,wBAAwB;EAC1C;EACA;;EAEA,eAAe;IAAS;IAAc;IAAe;QAA4B;EACjF,sBAAsB,iBAAiB,QAAQ;EAC/C,yBAAyB;IAAS;IAAc;QAA+B;IAC7E,kBAAkB;;EAEpB,oBAAoB,kBAAkB;;EAEtC,gBAAgB,kBAAkB,QAAQ;IAAoC;;EAC9E,qBAAqB,mBAAmB,oBAAoB;;EAE5D;EACA;EACA;EACA;;EAEA,yBAAyB,sBAAsB;;;iBAIhC;;EAEf,qBAAqB;EACrB;IAAU;IAA8C;IAAe;IAAqB;;;EAE5F,eAAe;;EAEf;;;;;EAKA;IAAiB;;;EAEjB,YAAY,YAAY;EACxB,SAAS;;;iBAIM;EACf;EACA;EACA;EACA;EACA,KAAK"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agimon-ai/po-core",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.65",
|
|
4
4
|
"description": "Po runtime systems and reusable core services.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -559,8 +559,8 @@
|
|
|
559
559
|
"registry": "https://registry.npmjs.org/"
|
|
560
560
|
},
|
|
561
561
|
"dependencies": {
|
|
562
|
-
"@agimon-ai/po-logsink": "0.0.1-alpha.
|
|
563
|
-
"@agimon-ai/po-web-security": "0.0.0-alpha.
|
|
562
|
+
"@agimon-ai/po-logsink": "0.0.1-alpha.47",
|
|
563
|
+
"@agimon-ai/po-web-security": "0.0.0-alpha.65",
|
|
564
564
|
"@deepseek-ai/cordis": "4.0.5",
|
|
565
565
|
"@earendil-works/chord": "1.4.0",
|
|
566
566
|
"@earendil-works/pi-agent-core": "1.4.0",
|
|
@@ -584,7 +584,7 @@
|
|
|
584
584
|
"yaml": "2.9.1"
|
|
585
585
|
},
|
|
586
586
|
"devDependencies": {
|
|
587
|
-
"@agimon-ai/vibe-lint-plugin-po-core": "0.0.0-alpha.
|
|
587
|
+
"@agimon-ai/vibe-lint-plugin-po-core": "0.0.0-alpha.65",
|
|
588
588
|
"@apidevtools/swagger-parser": "^13.1.0",
|
|
589
589
|
"@asyncapi/parser": "^3.6.4",
|
|
590
590
|
"@earendil-works/pi-ai": "1.4.0",
|