@adminide-stack/yantra-mobile 12.0.120-alpha.1 → 12.0.120
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/lib/components/NavigationHeader/HeaderTasksButton.js +130 -17
- package/lib/components/NavigationHeader/HeaderTasksButton.js.map +1 -1
- package/lib/features/webbuilder/WebBuilderExperience.js +10 -8
- package/lib/features/webbuilder/WebBuilderExperience.js.map +1 -1
- package/lib/features/webbuilder/buildFragments.js +8 -1
- package/lib/features/webbuilder/buildFragments.js.map +1 -1
- package/lib/features/webbuilder/buildJob.js +92 -0
- package/lib/features/webbuilder/buildJob.js.map +1 -0
- package/lib/features/webbuilder/workflow.js +22 -26
- package/lib/features/webbuilder/workflow.js.map +1 -1
- package/lib/hooks/useCdecliChannel.js +5 -3
- package/lib/hooks/useCdecliChannel.js.map +1 -1
- package/lib/hooks/useChatStream.js +2 -2
- package/lib/hooks/useChatStream.js.map +1 -1
- package/lib/hooks/useSurfaceJobs.js +49 -0
- package/lib/hooks/useSurfaceJobs.js.map +1 -0
- package/lib/screens/WebBuilderNative/index.js +13 -2
- package/lib/screens/WebBuilderNative/index.js.map +1 -1
- package/lib/screens/WebBuilderNative/useWebBuilderHost.js +120 -21
- package/lib/screens/WebBuilderNative/useWebBuilderHost.js.map +1 -1
- package/lib/screens/WebBuilderNative/useWebBuilderJobs.js +66 -0
- package/lib/screens/WebBuilderNative/useWebBuilderJobs.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {useMemo,useCallback}from'react';import {useRecordSurfaceJobMutation,useUpdateSurfaceJobMutation}from'common/graphql';import {config}from'../../config/env-config.js';import {resolveMobileWebUrl,getPackagerHost}from'../../bridge/resolveMobileWebUrl.js';import {webBuilderJobRecord,surfaceJobRef,webBuilderJobFinish}from'../../features/webbuilder/buildJob.js';var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
const RECORD_WAIT_MS = 2e3;
|
|
21
|
+
function useWebBuilderJobs() {
|
|
22
|
+
const [recordJob] = useRecordSurfaceJobMutation();
|
|
23
|
+
const [updateJob] = useUpdateSurfaceJobMutation();
|
|
24
|
+
const webOrigin = useMemo(() => resolveMobileWebUrl(config.CLIENT_URL, getPackagerHost()), []);
|
|
25
|
+
const begin = useCallback(async (start) => {
|
|
26
|
+
const recorded = recordJob({
|
|
27
|
+
variables: {
|
|
28
|
+
job: webBuilderJobRecord(__spreadProps(__spreadValues({}, start), {
|
|
29
|
+
webOrigin
|
|
30
|
+
}))
|
|
31
|
+
}
|
|
32
|
+
}).then((result) => {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
return (_b = (_a = result.data) == null ? void 0 : _a.recordSurfaceJob) != null ? _b : null;
|
|
35
|
+
}).catch((err) => {
|
|
36
|
+
console.warn("[WebBuilderNative] task record failed:", err);
|
|
37
|
+
return null;
|
|
38
|
+
});
|
|
39
|
+
const inTime = await Promise.race([recorded, new Promise((resolve) => {
|
|
40
|
+
setTimeout(() => resolve(void 0), RECORD_WAIT_MS);
|
|
41
|
+
})]);
|
|
42
|
+
return {
|
|
43
|
+
id: recorded.then((r) => {
|
|
44
|
+
var _a;
|
|
45
|
+
return (_a = r == null ? void 0 : r.id) != null ? _a : null;
|
|
46
|
+
}),
|
|
47
|
+
ref: surfaceJobRef(inTime)
|
|
48
|
+
};
|
|
49
|
+
}, [recordJob, webOrigin]);
|
|
50
|
+
const finish = useCallback((job, outcome) => {
|
|
51
|
+
if (!job) return;
|
|
52
|
+
Promise.resolve(job).then((recorded) => recorded.id).then((id) => {
|
|
53
|
+
if (!id) return void 0;
|
|
54
|
+
return updateJob({
|
|
55
|
+
variables: {
|
|
56
|
+
id,
|
|
57
|
+
patch: webBuilderJobFinish(outcome)
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}).catch((err) => console.warn("[WebBuilderNative] task settle failed:", err));
|
|
61
|
+
}, [updateJob]);
|
|
62
|
+
return useMemo(() => ({
|
|
63
|
+
begin,
|
|
64
|
+
finish
|
|
65
|
+
}), [begin, finish]);
|
|
66
|
+
}export{useWebBuilderJobs};//# sourceMappingURL=useWebBuilderJobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebBuilderJobs.js","sources":["../../../src/screens/WebBuilderNative/useWebBuilderJobs.ts"],"sourcesContent":["/**\n * Records each Web Builder turn as a server-owned surface job (features/webbuilder/buildJob)\n * and settles it. Best effort by design: a build never waits on, or fails because of, its\n * task record.\n */\nimport { useCallback, useMemo } from 'react';\nimport { useRecordSurfaceJobMutation, useUpdateSurfaceJobMutation } from 'common/graphql';\nimport { config } from '../../config/env-config';\nimport { getPackagerHost, resolveMobileWebUrl } from '../../bridge/resolveMobileWebUrl';\nimport {\n surfaceJobRef,\n webBuilderJobFinish,\n webBuilderJobRecord,\n type SurfaceJobRef,\n type WebBuilderJobOutcome,\n type WebBuilderJobStart,\n} from '../../features/webbuilder/buildJob';\n\n/** How long a turn waits for its job's report token before it goes out without one (surface-kit's cap). */\nconst RECORD_WAIT_MS = 2_000;\n\nexport interface WebBuilderJob {\n /** The server record's id once it lands (null when recording failed). */\n id: Promise<string | null>;\n /** The ref the chat turn carries, when the record came back in time with a report token. */\n ref: SurfaceJobRef | null;\n}\n\nexport function useWebBuilderJobs(): {\n begin: (start: Omit<WebBuilderJobStart, 'webOrigin'>) => Promise<WebBuilderJob>;\n finish: (job: WebBuilderJob | Promise<WebBuilderJob> | null | undefined, outcome: WebBuilderJobOutcome) => void;\n} {\n const [recordJob] = useRecordSurfaceJobMutation();\n const [updateJob] = useUpdateSurfaceJobMutation();\n const webOrigin = useMemo(() => resolveMobileWebUrl(config.CLIENT_URL, getPackagerHost()), []);\n\n const begin = useCallback(\n async (start: Omit<WebBuilderJobStart, 'webOrigin'>): Promise<WebBuilderJob> => {\n const recorded = recordJob({ variables: { job: webBuilderJobRecord({ ...start, webOrigin }) } })\n .then((result) => result.data?.recordSurfaceJob ?? null)\n .catch((err: unknown) => {\n console.warn('[WebBuilderNative] task record failed:', err);\n return null;\n });\n const inTime = await Promise.race([\n recorded,\n new Promise<undefined>((resolve) => {\n setTimeout(() => resolve(undefined), RECORD_WAIT_MS);\n }),\n ]);\n return { id: recorded.then((r) => r?.id ?? null), ref: surfaceJobRef(inTime) };\n },\n [recordJob, webOrigin],\n );\n\n const finish = useCallback(\n (job: WebBuilderJob | Promise<WebBuilderJob> | null | undefined, outcome: WebBuilderJobOutcome) => {\n if (!job) return;\n Promise.resolve(job)\n .then((recorded) => recorded.id)\n .then((id) => {\n if (!id) return undefined;\n // The agent's verdict, when it reported first, wins on the server.\n return updateJob({ variables: { id, patch: webBuilderJobFinish(outcome) } });\n })\n .catch((err: unknown) => console.warn('[WebBuilderNative] task settle failed:', err));\n },\n [updateJob],\n );\n\n // Stable: callers keep it in effect dependencies.\n return useMemo(() => ({ begin, finish }), [begin, finish]);\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAYA,MAAM,cAAiB,GAAA,GAAA;AAOhB,SAAS,iBAGd,GAAA;AACA,EAAM,MAAA,CAAC,SAAS,CAAA,GAAI,2BAA4B,EAAA;AAChD,EAAM,MAAA,CAAC,SAAS,CAAA,GAAI,2BAA4B,EAAA;AAChD,EAAM,MAAA,SAAA,GAAY,OAAQ,CAAA,MAAM,mBAAoB,CAAA,MAAA,CAAO,YAAY,eAAgB,EAAC,CAAG,EAAA,EAAE,CAAA;AAC7F,EAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,OAAO,KAAyE,KAAA;AACxG,IAAA,MAAM,WAAW,SAAU,CAAA;AAAA,MACzB,SAAW,EAAA;AAAA,QACT,GAAA,EAAK,mBAAoB,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACpB,KADoB,CAAA,EAAA;AAAA,UAEvB;AAAA,SACD,CAAA;AAAA;AACH,KACD,CAAE,CAAA,IAAA,CAAK,CAAO,MAAA,KAAA;AAlCnB,MAAA,IAAA,EAAA,EAAA,EAAA;AAkCsB,MAAO,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAA,IAAA,KAAP,IAAa,GAAA,MAAA,GAAA,EAAA,CAAA,gBAAA,KAAb,IAAiC,GAAA,EAAA,GAAA,IAAA;AAAA,KAAI,CAAA,CAAE,KAAM,CAAA,CAAC,GAAiB,KAAA;AAC/E,MAAQ,OAAA,CAAA,IAAA,CAAK,0CAA0C,GAAG,CAAA;AAC1D,MAAO,OAAA,IAAA;AAAA,KACR,CAAA;AACD,IAAM,MAAA,MAAA,GAAS,MAAM,OAAQ,CAAA,IAAA,CAAK,CAAC,QAAU,EAAA,IAAI,QAAmB,CAAW,OAAA,KAAA;AAC7E,MAAA,UAAA,CAAW,MAAM,OAAA,CAAQ,MAAS,CAAA,EAAG,cAAc,CAAA;AAAA,KACpD,CAAC,CAAC,CAAA;AACH,IAAO,OAAA;AAAA,MACL,EAAA,EAAI,QAAS,CAAA,IAAA,CAAK,CAAE,CAAA,KAAA;AA1C1B,QAAA,IAAA,EAAA;AA0C6B,QAAA,OAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,OAAH,IAAS,GAAA,EAAA,GAAA,IAAA;AAAA,OAAI,CAAA;AAAA,MACpC,GAAA,EAAK,cAAc,MAAM;AAAA,KAC3B;AAAA,GACC,EAAA,CAAC,SAAW,EAAA,SAAS,CAAC,CAAA;AACzB,EAAA,MAAM,MAAS,GAAA,WAAA,CAAY,CAAC,GAAA,EAAgE,OAAkC,KAAA;AAC5H,IAAA,IAAI,CAAC,GAAK,EAAA;AACV,IAAQ,OAAA,CAAA,OAAA,CAAQ,GAAG,CAAE,CAAA,IAAA,CAAK,cAAY,QAAS,CAAA,EAAE,CAAE,CAAA,IAAA,CAAK,CAAM,EAAA,KAAA;AAC5D,MAAI,IAAA,CAAC,IAAW,OAAA,MAAA;AAEhB,MAAA,OAAO,SAAU,CAAA;AAAA,QACf,SAAW,EAAA;AAAA,UACT,EAAA;AAAA,UACA,KAAA,EAAO,oBAAoB,OAAO;AAAA;AACpC,OACD,CAAA;AAAA,KACF,EAAE,KAAM,CAAA,CAAC,QAAiB,OAAQ,CAAA,IAAA,CAAK,wCAA0C,EAAA,GAAG,CAAC,CAAA;AAAA,GACxF,EAAG,CAAC,SAAS,CAAC,CAAA;AAGd,EAAA,OAAO,QAAQ,OAAO;AAAA,IACpB,KAAA;AAAA,IACA;AAAA,GACE,CAAA,EAAA,CAAC,KAAO,EAAA,MAAM,CAAC,CAAA;AACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adminide-stack/yantra-mobile",
|
|
3
|
-
"version": "12.0.120
|
|
3
|
+
"version": "12.0.120",
|
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"uuid": "^9.0.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"common": "12.0.120
|
|
30
|
+
"common": "^12.0.120",
|
|
31
31
|
"libphonenumber-js": "^1.13.3"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@messenger-box/platform-mobile": "*",
|
|
46
46
|
"@react-native-async-storage/async-storage": "*",
|
|
47
47
|
"@react-navigation/native": "*",
|
|
48
|
-
"common": "12.0.119
|
|
48
|
+
"common": "12.0.119",
|
|
49
49
|
"expo-constants": "*",
|
|
50
50
|
"expo-secure-store": "*",
|
|
51
51
|
"expo-web-browser": "*",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"typescript": {
|
|
66
66
|
"definition": "lib/index.d.ts"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "6462dc7f98c80623f6c0070f02c3f77417f7e13d"
|
|
69
69
|
}
|