@owlmeans/viable-sdk 0.1.18-rc.21 → 0.1.18-rc.23
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/README.md +1 -1
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/viable-sdk/SKILL.md +76 -21
- package/build/api/remote.d.ts +2 -3
- package/build/api/remote.d.ts.map +1 -1
- package/build/api/remote.js +13 -14
- package/build/api/remote.js.map +1 -1
- package/build/consts.d.ts +3 -13
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +3 -13
- package/build/consts.js.map +1 -1
- package/build/harness/templates.d.ts +2 -2
- package/build/harness/templates.d.ts.map +1 -1
- package/build/harness/templates.js +10 -10
- package/build/project/setup.d.ts +1 -1
- package/build/tools/catalogue.d.ts +2 -2
- package/build/tools/catalogue.d.ts.map +1 -1
- package/build/tools/catalogue.js +143 -142
- package/build/tools/catalogue.js.map +1 -1
- package/build/tools/index.d.ts +2 -1
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +2 -1
- package/build/tools/index.js.map +1 -1
- package/build/tools/mcp.d.ts +2 -2
- package/build/tools/mcp.d.ts.map +1 -1
- package/build/tools/mcp.js +15 -10
- package/build/tools/mcp.js.map +1 -1
- package/build/tools/platform.d.ts +27 -8
- package/build/tools/platform.d.ts.map +1 -1
- package/build/tools/platform.js +107 -42
- package/build/tools/platform.js.map +1 -1
- package/build/tools/refusal.d.ts +2 -2
- package/build/tools/refusal.d.ts.map +1 -1
- package/build/tools/refusal.js +22 -6
- package/build/tools/refusal.js.map +1 -1
- package/build/tools/settings.d.ts +45 -0
- package/build/tools/settings.d.ts.map +1 -0
- package/build/tools/settings.js +86 -0
- package/build/tools/settings.js.map +1 -0
- package/build/tools/status.d.ts +17 -0
- package/build/tools/status.d.ts.map +1 -0
- package/build/tools/status.js +104 -0
- package/build/tools/status.js.map +1 -0
- package/build/tools/stories.d.ts +19 -1
- package/build/tools/stories.d.ts.map +1 -1
- package/build/tools/stories.js +22 -1
- package/build/tools/stories.js.map +1 -1
- package/build/types.d.ts +34 -17
- package/build/types.d.ts.map +1 -1
- package/package.json +19 -19
- package/build/tools/jobs.d.ts +0 -12
- package/build/tools/jobs.d.ts.map +0 -1
- package/build/tools/jobs.js +0 -60
- package/build/tools/jobs.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ConnectPipelineState, ConnectProjectStatus, ConnectStoryStatus, ConversionStatusView } from '@owlmeans/viable-common';
|
|
2
|
+
export declare const renderProjectStatus: (status: ConnectProjectStatus) => string;
|
|
3
|
+
/**
|
|
4
|
+
* What the story tools know about a story beyond its domain status.
|
|
5
|
+
*
|
|
6
|
+
* Read off the planning CARD the tool resolved before it asked for the status — the status route
|
|
7
|
+
* carries the run and the question, not the card's fields — so a new fact needs no second call and
|
|
8
|
+
* no change to the wire.
|
|
9
|
+
*/
|
|
10
|
+
export interface StoryStatusExtra {
|
|
11
|
+
/** The project's landing gate story (`fields.landing`). */
|
|
12
|
+
landing?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const renderStoryStatus: (status: ConnectStoryStatus, extra?: StoryStatusExtra) => string;
|
|
15
|
+
export declare const renderPipelineStatus: (state: ConnectPipelineState) => string;
|
|
16
|
+
export declare const conversionNext: (view: ConversionStatusView) => string;
|
|
17
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EACrF,MAAM,yBAAyB,CAAA;AA+BhC,eAAO,MAAM,mBAAmB,WAAY,oBAAoB,KAAG,MAuBlE,CAAA;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,WAAY,kBAAkB,UAAS,gBAAgB,KAAQ,MAkB5F,CAAA;AAED,eAAO,MAAM,oBAAoB,UAAW,oBAAoB,KAAG,MAclE,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,oBAAoB,KAAG,MAe3D,CAAA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ConnectWaitReason, ConversionDecision, ConversionStatus, decisionFor } from '@owlmeans/viable-common';
|
|
2
|
+
import { refusalPhrase } from './refusal.js';
|
|
3
|
+
import { LANDING_NOTE } from './stories.js';
|
|
4
|
+
const waitingNext = (waitingFor, inquiryId, fallback) => {
|
|
5
|
+
if (inquiryId != null)
|
|
6
|
+
return `answer_question { "questionId": "${inquiryId}" }`;
|
|
7
|
+
switch (waitingFor) {
|
|
8
|
+
case ConnectWaitReason.Person: return 'next_question';
|
|
9
|
+
case ConnectWaitReason.ModelTask: return 'next_task';
|
|
10
|
+
case ConnectWaitReason.LocalConnector: return 'session_status';
|
|
11
|
+
case ConnectWaitReason.Environment: return 'local_setup_guide';
|
|
12
|
+
default: return fallback;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const runLines = (run) => {
|
|
16
|
+
if (run == null)
|
|
17
|
+
return [];
|
|
18
|
+
const lines = [
|
|
19
|
+
`run ${run.runId} · ${run.pipeline} · ${run.status}`
|
|
20
|
+
+ (run.step != null ? ` · step: ${run.step}` : ''),
|
|
21
|
+
`steps: ${run.completed.length}/${run.completed.length + run.pending.length} completed`,
|
|
22
|
+
];
|
|
23
|
+
if (run.error != null && run.error !== '')
|
|
24
|
+
lines.push(`error: ${refusalPhrase(run.error)}`);
|
|
25
|
+
return lines;
|
|
26
|
+
};
|
|
27
|
+
export const renderProjectStatus = (status) => {
|
|
28
|
+
const lines = [
|
|
29
|
+
`${status.project.name} (${status.project.alias}) · ${status.project.id}`,
|
|
30
|
+
`project: ${status.project.status} (${status.project.intrinsic})`,
|
|
31
|
+
status.slot == null
|
|
32
|
+
? 'slot: none'
|
|
33
|
+
: `slot: ${status.slot.kind} · ${status.slot.status}`
|
|
34
|
+
+ (status.slot.host != null ? ` · ${status.slot.host}` : ''),
|
|
35
|
+
`agent: ${status.agent.locked ? `busy (${status.agent.task ?? 'working'})` : 'idle'}`,
|
|
36
|
+
...runLines(status.run),
|
|
37
|
+
];
|
|
38
|
+
if (status.pendingInquiry != null)
|
|
39
|
+
lines.push(`question: ${status.pendingInquiry.question}`);
|
|
40
|
+
for (const warning of [status.slot?.lastError, status.slot?.buildWarning, status.slot?.backendWarning]) {
|
|
41
|
+
if (warning != null && warning !== '')
|
|
42
|
+
lines.push(`warning: ${refusalPhrase(warning)}`);
|
|
43
|
+
}
|
|
44
|
+
const fallback = status.agent.locked || status.run != null
|
|
45
|
+
? `project_status { "projectId": "${status.project.id}" }`
|
|
46
|
+
: status.project.status === 'draft'
|
|
47
|
+
? `confirm_project { "projectId": "${status.project.id}" }`
|
|
48
|
+
: 'list_stories';
|
|
49
|
+
lines.push(`next: ${waitingNext(status.waitingFor, status.pendingInquiry?.id, fallback)}`);
|
|
50
|
+
return lines.join('\n');
|
|
51
|
+
};
|
|
52
|
+
export const renderStoryStatus = (status, extra = {}) => {
|
|
53
|
+
const lines = [
|
|
54
|
+
`${status.story.code} · ${status.story.title}`,
|
|
55
|
+
`story: ${status.story.status} (${status.story.intrinsic})`,
|
|
56
|
+
...(extra.landing === true ? [LANDING_NOTE] : []),
|
|
57
|
+
...runLines(status.run),
|
|
58
|
+
];
|
|
59
|
+
if (status.story.warning != null && status.story.warning !== '') {
|
|
60
|
+
lines.push(`warning: ${refusalPhrase(status.story.warning)}`);
|
|
61
|
+
}
|
|
62
|
+
if (status.pendingInquiry != null)
|
|
63
|
+
lines.push(`question: ${status.pendingInquiry.question}`);
|
|
64
|
+
const terminal = status.story.intrinsic === 'done' || status.story.intrinsic === 'cancelled';
|
|
65
|
+
const fallback = terminal
|
|
66
|
+
? 'nothing — this story is settled'
|
|
67
|
+
: `story_status { "projectId": "${status.projectId}", "storyId": "${status.story.id}" }`;
|
|
68
|
+
lines.push(`next: ${waitingNext(status.waitingFor, status.pendingInquiry?.id, fallback)}`);
|
|
69
|
+
return lines.join('\n');
|
|
70
|
+
};
|
|
71
|
+
export const renderPipelineStatus = (state) => {
|
|
72
|
+
const lines = [
|
|
73
|
+
`${state.pipeline} · ${state.status}` + (state.step != null ? ` · step: ${state.step}` : ''),
|
|
74
|
+
`steps: ${state.completed.length}/${state.completed.length + state.pending.length} completed`,
|
|
75
|
+
];
|
|
76
|
+
if (state.pendingInquiry != null)
|
|
77
|
+
lines.push(`question: ${state.pendingInquiry.question}`);
|
|
78
|
+
if (state.error != null && state.error !== '')
|
|
79
|
+
lines.push(`error: ${refusalPhrase(state.error)}`);
|
|
80
|
+
const settled = ['done', 'completed', 'cancelled'].includes(state.status.toLowerCase());
|
|
81
|
+
const fallback = settled
|
|
82
|
+
? 'nothing — this run is settled'
|
|
83
|
+
: `pipeline_status { "runId": "${state.runId}" }`;
|
|
84
|
+
lines.push(`next: ${waitingNext(state.waitingFor, state.pendingInquiry?.id, fallback)}`);
|
|
85
|
+
return lines.join('\n');
|
|
86
|
+
};
|
|
87
|
+
export const conversionNext = (view) => {
|
|
88
|
+
const waiting = waitingNext(view.waitingFor, view.pendingInquiry?.id, '');
|
|
89
|
+
if (waiting !== '')
|
|
90
|
+
return waiting;
|
|
91
|
+
switch (view.status) {
|
|
92
|
+
case ConversionStatus.Running: return 'conversion_status';
|
|
93
|
+
case ConversionStatus.Waiting: return 'next_question';
|
|
94
|
+
case ConversionStatus.Awaiting:
|
|
95
|
+
return `proceed_conversion { "decision": "${decisionFor(view.stage)}" } to continue, or`
|
|
96
|
+
+ ` { "decision": "${ConversionDecision.Leave}" } to keep the current result`;
|
|
97
|
+
case ConversionStatus.Failed:
|
|
98
|
+
return `proceed_conversion { "decision": "${ConversionDecision.Retry}" } once the cause is addressed`;
|
|
99
|
+
case ConversionStatus.Done: return 'nothing — this conversion is finished; purge_origin removes the origin';
|
|
100
|
+
case ConversionStatus.Cancelled: return 'nothing — this conversion was cancelled';
|
|
101
|
+
default: return 'convert_project';
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
|
package/build/tools/stories.d.ts
CHANGED
|
@@ -27,13 +27,31 @@ export declare const storyQuery: (projectId: string, filter?: StoryFilter) => Wo
|
|
|
27
27
|
* @throws {ProjectStoryNotFound} when neither names a story of the project
|
|
28
28
|
*/
|
|
29
29
|
export declare const resolveStory: (deps: Pick<ToolDeps, 'api'>, projectId: string, ref: string) => Promise<ViableStoryCard>;
|
|
30
|
+
/**
|
|
31
|
+
* What marks the project's LANDING GATE story, in a story line and in a story's own status.
|
|
32
|
+
*
|
|
33
|
+
* The platform picks at most one story per project — the key step of the end user's workflow — and
|
|
34
|
+
* draws a sketch of it on the guest home in place of the hero's call-to-action buttons: a visitor
|
|
35
|
+
* starts it there without an account, and signing in carries their choices to the story's
|
|
36
|
+
* full-scale screen. It is recorded as `fields.landing` on the story card, so the tools read it from
|
|
37
|
+
* the card they already hold, never from a second call.
|
|
38
|
+
*
|
|
39
|
+
* Said because it changes what developing the story does — the development also replaces the
|
|
40
|
+
* guest-home sketch with the real component — and a parent that reads only the narrative has no
|
|
41
|
+
* way to know that.
|
|
42
|
+
*/
|
|
43
|
+
export declare const LANDING_MARK = "landing gate";
|
|
44
|
+
export declare const LANDING_NOTE: string;
|
|
45
|
+
/** Whether a story card is the project's landing gate story. */
|
|
46
|
+
export declare const isLandingStory: (card: Workcard) => boolean;
|
|
30
47
|
/**
|
|
31
48
|
* One page of stories as a parent agent reads it.
|
|
32
49
|
*
|
|
33
50
|
* The header counts the page by INTRINSIC state, which is what "how much is left" means across
|
|
34
51
|
* flows — a failed story is still work to do. Every story line is the shape the connector has
|
|
35
52
|
* always printed, so a parent that learned to read it keeps reading it: the code first, because it
|
|
36
|
-
* is what every other story tool takes.
|
|
53
|
+
* is what every other story tool takes. A new fact is a new flag beside `primary`, never a
|
|
54
|
+
* substitute for one, and the area stays last.
|
|
37
55
|
*/
|
|
38
56
|
export declare const renderStories: (items: readonly Workcard[], page: number, total: number) => string;
|
|
39
57
|
//# sourceMappingURL=stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAG1D,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,cAAe,MAAM,WAAU,WAAW,KAAQ,aAQvE,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SACjB,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,MAAM,OAAO,MAAM,KAC1D,OAAO,CAAC,eAAe,CAqBzB,CAAA;
|
|
1
|
+
{"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAG1D,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,cAAe,MAAM,WAAU,WAAW,KAAQ,aAQvE,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SACjB,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,MAAM,OAAO,MAAM,KAC1D,OAAO,CAAC,eAAe,CAqBzB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAA;AAC1C,eAAO,MAAM,YAAY,QAEc,CAAA;AAEvC,gEAAgE;AAChE,eAAO,MAAM,cAAc,SAAU,QAAQ,KAAG,OAA+C,CAAA;AAe/F;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,UAAW,SAAS,QAAQ,EAAE,QAAQ,MAAM,SAAS,MAAM,KAAG,MAWrE,CAAA"}
|
package/build/tools/stories.js
CHANGED
|
@@ -50,6 +50,25 @@ export const resolveStory = async (deps, projectId, ref) => {
|
|
|
50
50
|
}
|
|
51
51
|
throw new ProjectStoryNotFound(ref);
|
|
52
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* What marks the project's LANDING GATE story, in a story line and in a story's own status.
|
|
55
|
+
*
|
|
56
|
+
* The platform picks at most one story per project — the key step of the end user's workflow — and
|
|
57
|
+
* draws a sketch of it on the guest home in place of the hero's call-to-action buttons: a visitor
|
|
58
|
+
* starts it there without an account, and signing in carries their choices to the story's
|
|
59
|
+
* full-scale screen. It is recorded as `fields.landing` on the story card, so the tools read it from
|
|
60
|
+
* the card they already hold, never from a second call.
|
|
61
|
+
*
|
|
62
|
+
* Said because it changes what developing the story does — the development also replaces the
|
|
63
|
+
* guest-home sketch with the real component — and a parent that reads only the narrative has no
|
|
64
|
+
* way to know that.
|
|
65
|
+
*/
|
|
66
|
+
export const LANDING_MARK = 'landing gate';
|
|
67
|
+
export const LANDING_NOTE = 'landing gate story — a guest starts it on the guest home without an'
|
|
68
|
+
+ ' account, and signing in carries their choices to its full screen; developing it also puts the'
|
|
69
|
+
+ ' real component on the guest home';
|
|
70
|
+
/** Whether a story card is the project's landing gate story. */
|
|
71
|
+
export const isLandingStory = (card) => storyFieldsOf(card).landing === true;
|
|
53
72
|
/** `2 planned, 1 in progress` — the page's cards per intrinsic state, zeros left out. */
|
|
54
73
|
const intrinsicCounts = (items) => {
|
|
55
74
|
const counts = new Map();
|
|
@@ -67,7 +86,8 @@ const intrinsicCounts = (items) => {
|
|
|
67
86
|
* The header counts the page by INTRINSIC state, which is what "how much is left" means across
|
|
68
87
|
* flows — a failed story is still work to do. Every story line is the shape the connector has
|
|
69
88
|
* always printed, so a parent that learned to read it keeps reading it: the code first, because it
|
|
70
|
-
* is what every other story tool takes.
|
|
89
|
+
* is what every other story tool takes. A new fact is a new flag beside `primary`, never a
|
|
90
|
+
* substitute for one, and the area stays last.
|
|
71
91
|
*/
|
|
72
92
|
export const renderStories = (items, page, total) => items.length < 1
|
|
73
93
|
? 'No stories.'
|
|
@@ -76,6 +96,7 @@ export const renderStories = (items, page, total) => items.length < 1
|
|
|
76
96
|
const fields = storyFieldsOf(item);
|
|
77
97
|
return ` ${item.code ?? item.id ?? ''} · ${item.status}`
|
|
78
98
|
+ `${fields.primary ? ' · primary' : ''}`
|
|
99
|
+
+ `${fields.landing === true ? ` · ${LANDING_MARK}` : ''}`
|
|
79
100
|
+ `${item.fields?.area != null ? ` · ${fields.area}` : ''}\n ${item.title.slice(0, 160)}`;
|
|
80
101
|
}).join('\n');
|
|
81
102
|
//# sourceMappingURL=stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PlanningFacade } from '@owlmeans/planning';
|
|
2
|
-
import type { ConnectCapabilities, ConnectCapabilitiesView, ConnectConvertCreateBody, ConnectHarness,
|
|
2
|
+
import type { ConnectCapabilities, ConnectCapabilitiesView, ConnectConvertCreateBody, ConnectHarness, ConnectLlm, ConnectMarker, ConnectOp, ConnectOpResult, ConnectOpSubmission, ConnectPipelineState, ConnectProjectBranding, ConnectProjectBrandingSave, ConnectProjectStatus, ConnectSessionView, ConnectStoryStatus, ConnectTarget, ConversionDecision, ConversionStatusView, ConvertCheck, InquiryAnswerPayload, InquiryPayload, ModelTask, ModelTaskResult, SlotCommandPayload } from '@owlmeans/viable-common';
|
|
3
3
|
export interface SdkOptions {
|
|
4
4
|
apiUrl: string;
|
|
5
5
|
/** The access token. The connector authenticates with nothing else. */
|
|
@@ -29,8 +29,8 @@ export interface ConnectorApi {
|
|
|
29
29
|
pullOps: (sessionId: string, waitSec: number) => Promise<ConnectOp[]>;
|
|
30
30
|
submitOp: (sessionId: string, result: ConnectOpResult) => Promise<ConnectOpSubmission>;
|
|
31
31
|
project: {
|
|
32
|
-
create: (prompt: string, target?: ConnectTarget) => Promise<
|
|
33
|
-
confirm: (projectId: string, edits: ProjectEdits) => Promise<
|
|
32
|
+
create: (prompt: string, target?: ConnectTarget) => Promise<ConnectProjectStatus>;
|
|
33
|
+
confirm: (projectId: string, edits: ProjectEdits) => Promise<ConnectProjectStatus>;
|
|
34
34
|
list: () => Promise<Array<{
|
|
35
35
|
id: string;
|
|
36
36
|
name: string;
|
|
@@ -41,9 +41,29 @@ export interface ConnectorApi {
|
|
|
41
41
|
projectId?: string;
|
|
42
42
|
slug?: string;
|
|
43
43
|
}) => Promise<ConnectProjectStatus>;
|
|
44
|
-
reinit: (projectId: string) => Promise<
|
|
45
|
-
modify: (projectId: string, prompt: string) => Promise<
|
|
46
|
-
|
|
44
|
+
reinit: (projectId: string) => Promise<ConnectProjectStatus>;
|
|
45
|
+
modify: (projectId: string, prompt: string) => Promise<ConnectProjectStatus>;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* The project settings a person edits on the project's control panel: the copyright line, the
|
|
49
|
+
* organization name, the Terms and Privacy links and the Google tag.
|
|
50
|
+
*
|
|
51
|
+
* Read and written as ONE record, because the platform validates them as one — a save merges the
|
|
52
|
+
* patch over what is stored, checks and moderates the merged record exactly as the web save does,
|
|
53
|
+
* and answers with it. The credit switch is not part of it: that is a paid capability with its
|
|
54
|
+
* own gated route, and a connector has no business near it.
|
|
55
|
+
*/
|
|
56
|
+
projectBranding: (projectId: string) => Promise<ConnectProjectBranding>;
|
|
57
|
+
/**
|
|
58
|
+
* Change some of the project settings; the fields left out keep their stored values.
|
|
59
|
+
*
|
|
60
|
+
* The platform applies the change to the PREVIEW by a configuration push (which rebuilds it);
|
|
61
|
+
* production takes it at the next Publish. For a local target that push is a `Configure`
|
|
62
|
+
* operation, so the caller attaches its connector first.
|
|
63
|
+
*/
|
|
64
|
+
saveProjectBranding: (projectId: string, patch: ConnectProjectBrandingSave) => Promise<ConnectProjectBranding>;
|
|
65
|
+
story: {
|
|
66
|
+
status: (projectId: string, storyId: string) => Promise<ConnectStoryStatus>;
|
|
47
67
|
};
|
|
48
68
|
/**
|
|
49
69
|
* The platform's planning surface: projects, user stories and the documents behind them as
|
|
@@ -62,25 +82,22 @@ export interface ConnectorApi {
|
|
|
62
82
|
resume: (projectId: string, runId: string, args?: {
|
|
63
83
|
from?: string;
|
|
64
84
|
force?: boolean;
|
|
65
|
-
}) => Promise<
|
|
85
|
+
}) => Promise<ConnectPipelineState>;
|
|
66
86
|
};
|
|
67
87
|
/**
|
|
68
88
|
* Bringing an application the platform did not generate onto its rails.
|
|
69
89
|
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* reported to the user as a broken server. `check` and `status` are the two reads — the first
|
|
73
|
-
* answered from a census before anything is provisioned or charged, the second the whole
|
|
74
|
-
* conversion in one view.
|
|
90
|
+
* State-changing verbs return the conversion's current domain status. Long-running work remains
|
|
91
|
+
* server-side and is observed through `status`; broker records are never part of this API.
|
|
75
92
|
*/
|
|
76
93
|
convert: {
|
|
77
|
-
create: (args: ConnectConvertCreateBody) => Promise<
|
|
94
|
+
create: (args: ConnectConvertCreateBody) => Promise<ConversionStatusView>;
|
|
78
95
|
check: (projectId: string) => Promise<ConvertCheck>;
|
|
79
|
-
start: (projectId: string) => Promise<
|
|
80
|
-
proceed: (projectId: string, decision: ConversionDecision, note?: string) => Promise<
|
|
81
|
-
cancel: (projectId: string) => Promise<
|
|
96
|
+
start: (projectId: string) => Promise<ConversionStatusView>;
|
|
97
|
+
proceed: (projectId: string, decision: ConversionDecision, note?: string) => Promise<ConversionStatusView>;
|
|
98
|
+
cancel: (projectId: string) => Promise<ConversionStatusView>;
|
|
82
99
|
status: (projectId: string) => Promise<ConversionStatusView>;
|
|
83
|
-
purge: (projectId: string) => Promise<
|
|
100
|
+
purge: (projectId: string) => Promise<ConversionStatusView>;
|
|
84
101
|
};
|
|
85
102
|
/**
|
|
86
103
|
* Answering a question by its own id.
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EACV,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,cAAc,EACtF,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/viable-sdk",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.23",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Drive the OwlMeans Viable platform from outside it — the connector session, the local slot executor, the tool catalogue and the model-task protocol an external coding agent answers.",
|
|
6
6
|
"type": "module",
|
|
@@ -62,23 +62,23 @@
|
|
|
62
62
|
"agent-meta"
|
|
63
63
|
],
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@owlmeans/api": "^0.1.18-rc.
|
|
66
|
-
"@owlmeans/auth": "^0.1.18-rc.
|
|
67
|
-
"@owlmeans/auth-common": "^0.1.18-rc.
|
|
68
|
-
"@owlmeans/auth-token": "^0.1.18-rc.
|
|
69
|
-
"@owlmeans/basic-ids": "^0.1.18-rc.
|
|
70
|
-
"@owlmeans/client-config": "^0.1.18-rc.
|
|
71
|
-
"@owlmeans/client-context": "^0.1.18-rc.
|
|
72
|
-
"@owlmeans/client-entrypoint": "^0.1.18-rc.
|
|
73
|
-
"@owlmeans/client-planning": "^0.1.18-rc.
|
|
74
|
-
"@owlmeans/config": "^0.1.18-rc.
|
|
75
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
76
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
77
|
-
"@owlmeans/error": "^0.1.18-rc.
|
|
78
|
-
"@owlmeans/planning": "^0.1.18-rc.
|
|
79
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
80
|
-
"@owlmeans/socket": "^0.1.18-rc.
|
|
81
|
-
"@owlmeans/viable-common": "^0.0.
|
|
65
|
+
"@owlmeans/api": "^0.1.18-rc.31",
|
|
66
|
+
"@owlmeans/auth": "^0.1.18-rc.29",
|
|
67
|
+
"@owlmeans/auth-common": "^0.1.18-rc.31",
|
|
68
|
+
"@owlmeans/auth-token": "^0.1.18-rc.19",
|
|
69
|
+
"@owlmeans/basic-ids": "^0.1.18-rc.28",
|
|
70
|
+
"@owlmeans/client-config": "^0.1.18-rc.31",
|
|
71
|
+
"@owlmeans/client-context": "^0.1.18-rc.32",
|
|
72
|
+
"@owlmeans/client-entrypoint": "^0.1.18-rc.31",
|
|
73
|
+
"@owlmeans/client-planning": "^0.1.18-rc.3",
|
|
74
|
+
"@owlmeans/config": "^0.1.18-rc.31",
|
|
75
|
+
"@owlmeans/context": "^0.1.18-rc.27",
|
|
76
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.30",
|
|
77
|
+
"@owlmeans/error": "^0.1.18-rc.29",
|
|
78
|
+
"@owlmeans/planning": "^0.1.18-rc.3",
|
|
79
|
+
"@owlmeans/route": "^0.1.18-rc.28",
|
|
80
|
+
"@owlmeans/socket": "^0.1.18-rc.27",
|
|
81
|
+
"@owlmeans/viable-common": "^0.0.26",
|
|
82
82
|
"ajv": "^8.17.1",
|
|
83
83
|
"fs-extra": "^11.3.0",
|
|
84
84
|
"globby": "^14.1.0",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"devDependencies": {
|
|
96
96
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
97
97
|
"@owlmeans/dep-config": "workspace:*",
|
|
98
|
-
"@owlmeans/server-planning": "^0.1.18-rc.
|
|
98
|
+
"@owlmeans/server-planning": "^0.1.18-rc.3",
|
|
99
99
|
"@types/bun": "^1.4.0",
|
|
100
100
|
"@types/fs-extra": "^11.0.4",
|
|
101
101
|
"@types/node": "^26.1.0",
|
package/build/tools/jobs.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ConnectJob } from '@owlmeans/viable-common';
|
|
2
|
-
/**
|
|
3
|
-
* One job, as a few lines a parent agent can act on.
|
|
4
|
-
*
|
|
5
|
-
* Written for a model reading a tool result, so it says three things in order and nothing else:
|
|
6
|
-
* what is happening, what it is waiting for, and what to call next. The last line is what keeps a
|
|
7
|
-
* parent from inventing a polling strategy of its own — or from concluding that a blocked run has
|
|
8
|
-
* failed.
|
|
9
|
-
*/
|
|
10
|
-
export declare const renderJob: (job: ConnectJob) => string;
|
|
11
|
-
export declare const isSettled: (job: ConnectJob) => boolean;
|
|
12
|
-
//# sourceMappingURL=jobs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAsBzD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,QAAS,UAAU,KAAG,MA6B3C,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,UAAU,KAAG,OACoC,CAAA"}
|
package/build/tools/jobs.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { ConnectJobBlock, ConnectJobStatus } from '@owlmeans/viable-common';
|
|
2
|
-
import { JOB_POLL_MAX_SEC } from '../consts.js';
|
|
3
|
-
import { refusalPhrase } from './refusal.js';
|
|
4
|
-
const NEXT = {
|
|
5
|
-
[ConnectJobStatus.Queued]: job => `wait_for { "jobId": "${job.id}", "maxWaitSec": ${JOB_POLL_MAX_SEC} }`,
|
|
6
|
-
[ConnectJobStatus.Running]: job => `wait_for { "jobId": "${job.id}", "maxWaitSec": ${JOB_POLL_MAX_SEC} }`,
|
|
7
|
-
// A question outranks a model task: a person is slower than a subagent, and a run that stopped
|
|
8
|
-
// for one moves again the moment somebody answers.
|
|
9
|
-
[ConnectJobStatus.Blocked]: job => job.blockedOn === ConnectJobBlock.Question
|
|
10
|
-
? 'next_question — this run needs a decision from the person you are working for'
|
|
11
|
-
: job.blockedOn === ConnectJobBlock.ModelTask
|
|
12
|
-
? 'next_task — this run is waiting for you to perform its model calls'
|
|
13
|
-
: job.blockedOn === ConnectJobBlock.Env
|
|
14
|
-
? 'local_setup_guide — the project needs a database it can reach'
|
|
15
|
-
: `wait_for { "jobId": "${job.id}", "maxWaitSec": ${JOB_POLL_MAX_SEC} }`,
|
|
16
|
-
[ConnectJobStatus.Done]: () => 'nothing — this finished',
|
|
17
|
-
[ConnectJobStatus.Failed]: job => job.runId != null
|
|
18
|
-
? `resume_pipeline { "runId": "${job.runId}" } once the cause is addressed`
|
|
19
|
-
: 'nothing — read the error and decide',
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* One job, as a few lines a parent agent can act on.
|
|
23
|
-
*
|
|
24
|
-
* Written for a model reading a tool result, so it says three things in order and nothing else:
|
|
25
|
-
* what is happening, what it is waiting for, and what to call next. The last line is what keeps a
|
|
26
|
-
* parent from inventing a polling strategy of its own — or from concluding that a blocked run has
|
|
27
|
-
* failed.
|
|
28
|
-
*/
|
|
29
|
-
export const renderJob = (job) => {
|
|
30
|
-
const lines = [
|
|
31
|
-
`job ${job.id} · ${job.kind} · ${job.status}`
|
|
32
|
-
+ (job.phase != null ? ` · phase: ${job.phase}` : ''),
|
|
33
|
-
];
|
|
34
|
-
if (job.progress != null) {
|
|
35
|
-
const done = job.progress.completed.length;
|
|
36
|
-
const total = done + job.progress.pending.length;
|
|
37
|
-
lines.push(`steps: ${done}/${total} done${job.progress.step != null ? ` · in: ${job.progress.step}` : ''}`);
|
|
38
|
-
}
|
|
39
|
-
lines.push(`project ${job.projectId}`
|
|
40
|
-
+ (job.storyId != null ? ` · story ${job.storyId}` : '')
|
|
41
|
-
+ (job.runId != null ? ` · run ${job.runId}` : ''));
|
|
42
|
-
if (job.blockedOn != null)
|
|
43
|
-
lines.push(`blocked on: ${job.blockedOn}`);
|
|
44
|
-
// The question itself, not only that there is one: a parent that has to make a second call to
|
|
45
|
-
// learn what is being asked usually makes none, and waits the whole timeout out instead.
|
|
46
|
-
if (job.inquiry != null)
|
|
47
|
-
lines.push(`question: ${job.inquiry.question}`);
|
|
48
|
-
if (job.message != null)
|
|
49
|
-
lines.push(job.message);
|
|
50
|
-
// Phrased, because a job's error is a STORED string — the platform writes `lastError` from a
|
|
51
|
-
// refusal's own message, so what arrives here is the marker with no class left on it, and often
|
|
52
|
-
// the whole marshalled `type|||marker|||stack`. The parent reads this line and decides whether
|
|
53
|
-
// to retry, so it has to say what was refused rather than name a class and a stack frame.
|
|
54
|
-
if (job.error != null && job.error !== '')
|
|
55
|
-
lines.push(`error: ${refusalPhrase(job.error)}`);
|
|
56
|
-
lines.push(`next: ${NEXT[job.status](job)}`);
|
|
57
|
-
return lines.join('\n');
|
|
58
|
-
};
|
|
59
|
-
export const isSettled = (job) => job.status === ConnectJobStatus.Done || job.status === ConnectJobStatus.Failed;
|
|
60
|
-
//# sourceMappingURL=jobs.js.map
|
package/build/tools/jobs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"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"}
|